
- AWS Lambda 教程
- AWS Lambda - 首頁
- AWS Lambda - 概述
- AWS Lambda - 環境設定
- AWS Lambda - 簡介
- 構建Lambda函式
- Node.js 函式
- Java 函式
- Python 函式
- Go 函式
- C# 函式
- 配置Lambda函式
- 使用AWS控制檯建立和部署
- 使用AWS CLI建立和部署
- 使用Serverless Framework建立和部署
- AWS執行和呼叫Lambda函式
- 刪除Lambda函式
- 使用Amazon API Gateway
- Lambda函式與Amazon S3
- Lambda函式與Amazon DynamoDB
- Lambda函式與計劃事件
- Lambda函式與Amazon SNS
- Lambda函式與CloudTrail
- Lambda函式與Amazon Kinesis
- 使用Lambda函式與自定義使用者應用程式
- AWS Lambda@Edge與CloudFront
- 使用Cloudwatch監控和故障排除
- AWS Lambda - 附加示例
- AWS Lambda有用資源
- AWS Lambda - 快速指南
- AWS Lambda - 有用資源
- AWS Lambda - 討論
使用Lambda函式與自定義使用者應用程式
我們可以使用AWS Lambda函式透過以下兩種方式處理使用者應用程式生成的事件:
- 使用AWS控制檯
- 使用AWS CLI
使用AWS控制檯
在AWS控制檯中,我們將處理事件和AWS Lambda。為此,請訪問AWS控制檯並建立一個Lambda函式。

接下來,讓我們新增AWS Lambda的程式碼:
exports.handler = (event, context, callback) => { // TODO implement console.log("Hello => "+ event.name); console.log("Address =>"+ event.addr); callback(null, 'Hello '+event.name +" and address is "+ event.addr); };
請注意,在上面的程式碼中,我們使用event列印姓名和地址。
事件的詳細資訊將使用如下建立的測試事件提供:

現在,儲存事件並進行測試。

相應的日誌輸出如下所示:

使用AWS CLI
我們可以使用AWS CLI呼叫上述函式,如下所示:
aws lambda invoke --function-name "lambdauserevent" --log-type Tail -- payload file://C:\clioutput\input.txt C:\clioutput\outputfile.txt
事件詳細資訊將提供給有效負載,輸出將儲存在 **C:\clioutput\outputfile.txt** 中,如下所示:
input.txt
{"name":"Roy Singh", "addr":"Mumbai"}
使用AWS CLI呼叫Lambda後,您可以看到輸出如下:

同樣,如果您想測試任何其他AWS服務的AWS Lambda,可以使用AWS控制檯和AWS CLI中的測試事件。下面顯示了SNS服務的示例事件:
{ "Records": [{ "EventVersion": "1.0", "EventSubscriptionArn": "arnid", "EventSource": "aws:sns", "Sns": { "SignatureVersion": "1", "Timestamp": "1970-01-01T00:00:00.000Z", "Signature": "EXAMPLE", "SigningCertUrl": "EXAMPLE", "MessageId": "95df01b4-ee98-5cb9-9903-4c221d41eb5e", "Message": "Hello from SNS!", "MessageAttributes": { "Test": { "Type": "String", "Value": "TestString" }, "TestBinary": { "Type": "Binary", "Value": "TestBinary" } }, "Type": "Notification", "UnsubscribeUrl": "EXAMPLE", "TopicArn": "topicarn", "Subject": "TestInvoke" } }] }
讓我們新增上面顯示的示例事件並對其進行測試,如下所示:

在AWS Lambda中,程式碼將列印SNS訊息,如下例所示:
exports.handler = (event, context, callback) => { // TODO implement console.log(event.Records[0].Sns.Message); callback(null, event.Records[0].Sns.Message);};

讓我們使用AWS CLI呼叫相同的函式。讓我們將事件儲存在檔案中,並使用顯示的命令將其用於有效負載:
aws lambda invoke --function-name "lambdauserevent" --log-type Tail -- payload file://C:\clioutput\sns.txt C:\clioutput\snsoutput.txt

廣告