云主机问题

首页 > 新闻动态 > 帮助中心 > 云主机问题

AWS 控制台创建和部署Lambda 函数

2023-08-25 10:20  浏览:

我们可以创建 Lambda 函数并在 AWS 控制台中对其进行测试。本章对此进行了详细讨论。为此,您必须按照此处给出的步骤操作并观察给出的相应屏幕截图-

步骤 1

登录 AWS 控制台 https://aws.amazon.com/console/。现在,您将被重定向到显示 AWS 服务的屏幕。

AWS 服务

步骤 2

现在,点击上面突出显示的 Lambda 服务。这将重定向到创建函数,如下所示-

Lambda 服务

步骤 3

现在,单击 创建函数并输入函数的详细信息。然后您可以看到如下所示的屏幕-

我的第一个 Lambda

步骤 4

您可以通过选择您选择的语言来编写代码。如果选择的选项是内联编辑代码,则必须在编辑器中编写代码。其他可用选项如下-

代码输入

步骤 5

完成后,您需要保存右上角给出的按钮的更改,如下所示-

保存按钮 Lambda

步骤 6

现在,点击 测试按钮。这给出了 Lambda 函数执行的所有细节,如下所示-

测试按钮

步骤 7

index.js 的代码如下-

 

 


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

   // TOdo implement

   callback(null, "Lambda test");

};

 

 

这将调用 回调函数,结果可能是错误或成功。成功后,您将看到 Lambda 测试 消息;如果出错,它将传递null。

步骤 8

Lambda 函数的 Role 详细信息是配置的一部分,如下所示-

角色执行

步骤 9

现在,您可以根据需要更新角色并保存 Lambda 函数。然后,lambda 函数的内存和超时详细信息如下所示-

Description

步骤 10

现在,我们需要为 Lambda 函数添​​加触发器,以便它在事件发生时执行。触发器详细信息显示在 AWS Lambda 函数屏幕的开头,如下所示-

Designer

从中,您可以选择希望触发 Lambda 函数的触发器。选择触发器时,必须添加触发器的配置详细信息。

例如,对于 S3 上的触发器,要添加的配置详细信息如下-

配置触发器

第 11 步

现在,选择您想要触发的存储桶。事件类型具有以下详细信息-

事件类型

第 12 步

对于触发器,您还可以提及前缀类型文件或文件模式,Lambda 必须是触发器。详情如图所示-

Prefix

第 13 步

现在,填写触发器所需的详细信息,然后单击 添加按钮。保存要添加的触发器的 Lambda 函数。保存该函数会部署详细信息,从现在开始,任何时候文件都是添加到 S3 存储桶后,Lambda 将被触发。

观察以下屏幕截图,其中显示了添加到 AWS Lambda 的 S3 触发器-

Cloud Formation

第 14 步

现在,让我们使用 S3 示例事件来测试 Lambda 函数。此处显示了相同的代码-

Amazon S3 Put 示例事件

 

 


{

   "Records": [{

      "eventVersion": "2.0",

      "eventTime": "1970-01-01T00:00:00.000Z",

      "requestParameters": {

         "ExampleIPAddress": "127.0.0.1"

      },

      "s3": {

         "configurationId": "testConfigRule",

         "object": {

            "eTag": "0123456789abcdef0123456789abcdef",

            "sequencer": "0A1B2C3D4E5F678901",

            "key": "HappyFace.jpg",

            "size": 1024

         },

         "bucket": { 

            "arn": bucketarn,

            "name": "Examplebucket",

            "ownerIdentity": {

               "principalId": "Example"

            }

         },

         "s3SchemaVersion": "1.0"

      },

      "responseElements": { 

         "x-amz-id-2": "Example123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH",

         "x-amz-request-id": "Example123456789"

      },

      "awsRegion": "us-east-1",

      "eventName": "ObjectCreated:Put",

      "userIdentity": {

         "principalId": "Example"

      },

      "eventSource": "aws:s3"

   }]

}

 

 

您必须使用以下命令来获取从 S3 put 事件上传的文件的详细信息-

 

 


event.Records[0].s3.object.key     //will display the name of the file

 

 

您必须使用以下命令来获取存储桶名称-

 

 


event.Records[0].s3.bucket.name    //will give the name of the bucket.

 

 

您必须使用以下命令来获取 EventName-

 

 


event.Records[0].eventName        // will display the event name

 

 

第 15 步

现在,让我们更新 AWS Lambda 代码以打印 S3 详细信息,如下所示-

 

 


exports.lambdahandler = (event, context, callback) => {

   callback(null, "Bucket name: "+event.Records[0].s3.bucket.name+"  

   File name:"+event.Records[0].s3.object.key );

};

 

 

第 16 步

保存更改。点击 Test 并输入 S3 示例事件-

配置测试

第 17 步

现在点击 测试,您可以看到如下所示的输出-

存储桶名称

第 18 步

要使用 S3 AWS 服务在 S3 上测试触发器,请在 S3 存储桶中上传一个文件: 测试存储桶触发器。更新与 Lambda 一起使用的角色以获取 S3 和 SES 策略(发送邮件)的权限。这将更新 AWS Lambda 代码以发送邮件以查看触发器工作-

更新后的 AWS Lambda 代码如下所示-

 

 


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

var ses = new aws.SES({

   region: "us-east-1"

});

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

   var eParams = {

      Destination: {

         ToAddresses: ["coxxxxxxx@gmail.com"]

      },

      Message: {

         Body: {

            Text: {

               Data: "Bucket name: "+event.Records[0].s3.bucket.name+"  File name:"+event.Records[0].s3.object.key

            }

         },

         Subject: {

            Data: "S3 and AWS Lambda"

         }

      },

      Example: "coxxxxxx@gmail.com"

   };

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

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

         }

   });

};

 

 

相应的屏幕截图如下所示-

目标路径

第 19 步

现在,上传文件并检查 AWS Lambda 代码中提供的邮件 ID-

邮件 ID

作为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 CLI 创建和部署安装教程 上一篇:AWS Lambda 配置函数