Sample code for 30+ languages & platforms
Ruby

Call an AWS Lambda Function

See more AWS Misc Examples

Demonstrates how to call an AWS Lambda function.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

rest = Chilkat::CkRest.new()

# Connect to the Amazon AWS REST server.
# such as https://email.us-west-2.amazonaws.com/
bTls = true
port = 443
bAutoReconnect = 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.
authAws = Chilkat::CkAuthAws.new()
authAws.put_AccessKey("AWS_ACCESS_KEY")
authAws.put_SecretKey("AWS_SECRET_KEY")
# the region should match our domain above..
authAws.put_Region("us-west-2")
authAws.put_ServiceName("lambda")

rest.SetAuthAws(authAws)

json = Chilkat::CkJsonObject.new()
json.UpdateString("name","Benny")

rest.AddHeader("Content-Type","application/json")

sbRequestBody = Chilkat::CkStringBuilder.new()
json.EmitSb(sbRequestBody)

sbResponseBody = Chilkat::CkStringBuilder.new()
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
if (success == false)
    print rest.lastErrorText() + "\n";
    exit
end

statusCode = rest.get_ResponseStatusCode()
if (statusCode >= 400)
    print "Response Status Code: " + statusCode.to_s() + "\n";
    print "Response Body: " + sbResponseBody.getAsString() + "\n";
    print "Failed." + "\n";
    exit
end

print "Response Body:" + "\n";
print sbResponseBody.getAsString() + "\n";