行业资讯

在Amazon Kinesis中使用Lambda函数

2023-08-25 10:48  浏览:

AWS Kinesis 服务用于捕获/存储来自网站点击、日志、社交媒体源的实时跟踪数据。我们可以触发 AWS Lambda 对这些日志执行额外的处理。

要求

开始使用 Kinesis 和 AWS Lambda 的基本要求如下所示-

创建具有所需权限的角色在 Kinesis 中创建数据流创建 AWS Lambda 函数。向 AWS Lambda 添加代码将数据添加到 Kinesis 数据流

示例

让我们研究一个示例,在该示例中我们将触发 AWS Lambda 来处理来自 Kinesis 的数据流,并使用收到的数据发送邮件。

用于解释该过程的简单框图如下所示-

Block Diagram Kinesis

创建具有所需权限的角色

转到 AWS 控制台并创建角色。

必需权限

在 Kinesis 中创建数据流

转到 AWS 控制台并在 kinesis 中创建数据流。

数据流

如图所示有 4 个选项。我们将在本例中创建数据流。

创建数据流

点击 创建数据流。在下面给出的 Kinesis 流名称中输入名称。

创建 Kinesis Stream

输入数据流的分片数。

估计数字

Shards 的详细信息如下所示-

Shards

输入名称并点击底部的 创建 Kinesis 流按钮。

Kinesis Stream

请注意,流激活需要一定的时间。

创建 AWS Lambda 函数

转到 AWS 控制台并单击 Lambda。创建 AWS Lambda 函数,如图所示-

Kinesis Lambda

点击屏幕末尾的 创建函数按钮。将 Kinesis 作为触发器添加到 AWS Lambda。

Kinesis 触发器

向 Kinesis 触发器添加配置详细信息-

配置 Kinesis

添加触发器,现在将代码添加到 AWS Lambda。

向 AWS Lambda 添加代码

为此,我们将使用 nodejs 作为运行时。使用 Kinesis 数据流触发 AWS Lambda 后,我们将发送邮件。

 

 


const aws =  require("aws-sdk");

var ses = new aws.SES({

   region: "us-east-1"

});

exports.handler = function(event, context, callback) {

   let payload = "";

   event.Records.forEach(function(record) {

      // Kinesis data is base64 encoded so decode here

      payload = new Buffer(record.kinesis.data, "base64").toString("ascii");

      console.log("Decoded payload:", payload);

   });

   var eParams = {

      Destination: {

         ToAddresses: ["xxxxxxx@gmail.com"]

      },

      Message: {

         Body: {

            Text: {

               Data:payload

            }

         },

         Subject: {

            Data: "Kinesis data stream"

         }

      },

      Source: "cxxxxxxxxx@gmail.com"

   };    

   var email = ses.sendEmail(eParams, function(err, data) {

      if (err) console.log(err);

      else {

         console.log("===EMAIL SENT===");

         console.log("EMAIL CODE END");

         console.log("EMAIL: ", email);

         context.succeed(event);

         callback(null, "email is send");

      }

   });

};

 

 

事件参数具有输入到 kinesis 数据流中的数据。一旦将数据输入到 kinesis 数据流中,上述 aws lambda 代码将被激活。

将数据添加到 Kinesis 数据流

这里我们将使用 AWS CLI 添加数据 kinesis 数据流,如下所示。为此,我们可以使用以下命令-

 

 


aws kinesis put-record--stream-name kinesisdemo --data "hello world"--

partition-key "789675"

 

 

 

Data Kinesis

然后,AWS Lambda 被激活并发送邮件。

激活邮件

 

Kinesis 命令 Kinesis Mail

作为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 函数自定义程序来处理用户事件 上一篇:AWS CloudTrail、S3 和 AWS Lambda 的工作原理
24H服务热线:4006388808 立即拨打