行业资讯

使用 AWS lambda 函数自定义程序来处理用户事件

2023-08-25 10:50  浏览:

我们可以通过以下两种方式使用 AWS lambda 函数来处理用户应用程序生成的事件-使用 AWS 控制台和使用 AWS CLI

使用 AWS 控制台

在 AWS 控制台中,我们将处理事件和 AWS Lambda。为此,请转到 AWS 控制台并创建一个 lambda 函数。

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);

};

 

 

请注意,在上面的代码中,我们使用事件打印名称和地址。

将使用创建的测试事件提供事件的详细信息,如下所示-

配置事件

现在,保存事件并对其进行测试。

保存事件

相应的日志输出如下所示-

自定义输出

使用 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);};

 

 

 

Sns 消息

让我们使用 AWS CLI 调用它。让我们将事件保存在一个文件中,并使用显示的命令将其用于有效负载-

 

 


aws lambda invoke--function-name "lambdauserevent"--log-type Tail--

payload file://C:\clioutput\sns.txt C:\clioutput\snsoutput.txt

 

 

 

Payload Command

作为AWS顶级代理商,选择天.下.数.据的优势

1、专属客服协助注册AWS,或提供注册好的账号直接使用

2、支持收U等多币种支付代付,无额外服务费用

3、AWS多种产品类型,更高产品租赁权限

4、针对大客户,AWS专属折扣优惠

5、7x24小时专属客服,在线解答各种疑问

详询电话40 0-63 8-88 08 官网:https://www.idCbest.com/2023/aws.asp

【免责声明】:部分内容、图片来源于互联网,如有侵权请联系删除,QQ:228866015

下一篇:AWS Lambda@Edge 上一篇:在Amazon Kinesis中使用Lambda函数
24H服务热线:4006388808 立即拨打