Aws-lambda-using-lambda-function-with-custom-user-applications
提供:Dev Guides
カスタムユーザーアプリケーションでのLambda関数の使用
次の2つの方法で、AWSラムダ関数を使用して、ユーザーアプリケーションによって生成されたイベントを使用して処理できます-
- AWSコンソールを使用する
- AWS CLIを使用する
AWSコンソールを使用する
AWSコンソールから、イベントとAWS Lambdaを操作します。 この目的のために、AWSコンソールに移動し、ラムダ関数を作成します。
次に、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);
};
上記のコードでは、イベントを使用して名前と住所を出力していることに注意してください。
イベントの詳細は、次のように作成されたテストイベントを使用して与えられます-
次に、イベントを保存してテストします。
対応するログ出力は次のとおりです-
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