我们可以使用AWS lambda函数按以下两种方式使用用户应用程序生成的事件进行处理 :
使用AWS控制台
使用AWS CLI
使用AWS控制台
来自AWS控制台,我们将使用事件和AWS Lambda.为此,请转到AWS控制台并创建一个lambda函数.
接下来,让我们添加AWS Lambda&minus的代码;
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 \\\putputfile.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