![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Call an AWS Lambda FunctionDemonstrates how to call an AWS Lambda function.
IncludeFile "CkStringBuilder.pb" IncludeFile "CkAuthAws.pb" IncludeFile "CkJsonObject.pb" IncludeFile "CkRest.pb" Procedure ChilkatExample() success.i = 0 ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. rest.i = CkRest::ckCreate() If rest.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Connect to the Amazon AWS REST server. ; such as https://email.us-west-2.amazonaws.com/ bTls.i = 1 port.i = 443 bAutoReconnect.i = 1 ; ------------------------------------------------------------------------------------------- ; Note: The source of the lambda function (hosted on AWS) is shown at the bottom of this page. ; -------------------------------------------------------------------------------------------- ; If your lambda function URL is: https://itwxyj3vd6gjtaerbfqnfccs2e0fplzh.lambda-url.us-west-2.on.aws/ ; then use just the domain part here: success = CkRest::ckConnect(rest,"itwxyj3vd6gjtaerbfqnfccs2e0fplzh.lambda-url.us-west-2.on.aws",port,bTls,bAutoReconnect) ; Provide AWS credentials for the REST call. authAws.i = CkAuthAws::ckCreate() If authAws.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkAuthAws::setCkAccessKey(authAws, "AWS_ACCESS_KEY") CkAuthAws::setCkSecretKey(authAws, "AWS_SECRET_KEY") ; the region should match our domain above.. CkAuthAws::setCkRegion(authAws, "us-west-2") CkAuthAws::setCkServiceName(authAws, "lambda") CkRest::ckSetAuthAws(rest,authAws) json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(json,"name","Benny") CkRest::ckAddHeader(rest,"Content-Type","application/json") sbRequestBody.i = CkStringBuilder::ckCreate() If sbRequestBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckEmitSb(json,sbRequestBody) sbResponseBody.i = CkStringBuilder::ckCreate() If sbResponseBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkRest::ckFullRequestSb(rest,"POST","/",sbRequestBody,sbResponseBody) If success = 0 Debug CkRest::ckLastErrorText(rest) CkRest::ckDispose(rest) CkAuthAws::ckDispose(authAws) CkJsonObject::ckDispose(json) CkStringBuilder::ckDispose(sbRequestBody) CkStringBuilder::ckDispose(sbResponseBody) ProcedureReturn EndIf statusCode.i = CkRest::ckResponseStatusCode(rest) If statusCode >= 400 Debug "Response Status Code: " + Str(statusCode) Debug "Response Body: " + CkStringBuilder::ckGetAsString(sbResponseBody) Debug "Failed." CkRest::ckDispose(rest) CkAuthAws::ckDispose(authAws) CkJsonObject::ckDispose(json) CkStringBuilder::ckDispose(sbRequestBody) CkStringBuilder::ckDispose(sbResponseBody) ProcedureReturn EndIf Debug "Response Body:" Debug CkStringBuilder::ckGetAsString(sbResponseBody) CkRest::ckDispose(rest) CkAuthAws::ckDispose(authAws) CkJsonObject::ckDispose(json) CkStringBuilder::ckDispose(sbRequestBody) CkStringBuilder::ckDispose(sbResponseBody) ProcedureReturn EndProcedure
|
||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.