B4X
B4X
Call an AWS Lambda Function
See more AWS Misc Examples
Demonstrates how to call an AWS Lambda function.Chilkat B4X Downloads
Dim success As Boolean = False
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim rest As ChilkatRest
rest.Initialize("rest")
' Connect to the Amazon AWS REST server.
' such as https://email.us-west-2.amazonaws.com/
Dim bTls As Boolean = True
Dim port As Int = 443
Dim bAutoReconnect As Boolean = True
' -------------------------------------------------------------------------------------------
' 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 = rest.Connect("itwxyj3vd6gjtaerbfqnfccs2e0fplzh.lambda-url.us-west-2.on.aws", port, bTls, bAutoReconnect)
' Provide AWS credentials for the REST call.
Dim authAws As ChilkatAuthAws
authAws.Initialize
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
' the region should match our domain above..
authAws.Region = "us-west-2"
authAws.ServiceName = "lambda"
rest.SetAuthAws(authAws)
Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("name", "Benny")
rest.AddHeader("Content-Type", "application/json")
Dim sbRequestBody As ChilkatStringBuilder
sbRequestBody.Initialize
json.EmitSb(sbRequestBody)
Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = rest.FullRequestSb("POST", "/", sbRequestBody, sbResponseBody)
If success = False Then
Log(rest.LastErrorText)
Return
End If
Dim statusCode As Int = rest.ResponseStatusCode
If statusCode >= 400 Then
Log("Response Status Code: " & statusCode)
Log("Response Body: " & sbResponseBody.GetAsString)
Log("Failed.")
Return
End If
Log("Response Body:")
Log(sbResponseBody.GetAsString)
JavaScript
export const handler = async (event) => {
let body = "Hello World";
if (event.body) {
const input = JSON.parse(event.body);
if (input.name) {
body = "Hello " + input.name;
}
}
return {
statusCode: 200,
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
message: body
})
};
};