开发手册 欢迎您!
软件开发者资料库

在自定义用户应用程序中使用Lambda函数

AWS Lambda将Lambda函数与自定义用户应用程序结合使用 - 从简单和简单的步骤学习AWS Lambda,从基本到高级概念,包括概述,环境设置,简介,构建Lambda函数,NODEJS中的函数,Java,Python,Go,C# ,配置Lambda函数,使用AWS控制台创建和部署,AWS CLI,无服务器框架,执行和调用,删除Lambda函数,使用Amazon API网关,在Amazon S3中使用Lambda函数,Amazon DynamoDB,计划事件,Amazon SNS,CloudTrail, Amazon Kinesis,自定义用户应用程序,使用CloudFront的AWS Lambda @ Edge,使用Cloudwatch进行监控和故障排除,附加示例。

我们可以使用AWS lambda函数按以下两种方式使用用户应用程序生成的事件进行处理 :

  • 使用AWS控制台

  • 使用AWS CLI

使用AWS控制台

来自AWS控制台,我们将使用事件和AWS Lambda.为此,请转到AWS控制台并创建一个lambda函数.

Lambda Custom

接下来,让我们添加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);};



Sns Message

让我们使用AWS CLI调用相同的内容.让我们将事件保存在一个文件中,并使用显示和减去的命令将其用于有效负载;

aws lambda invoke --function-name "lambdauserevent" --log-type Tail --payload file://C:\clioutput\sns.txt C:\clioutput\snsoutput.txt



Payload Command