AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

步骤 2.1:创建 Lambda 函数部署程序包

Filter View 列表中,选择要用于 Lambda 函数的语言。适当的部分随即出现,其中包含创建部署程序包的代码和具体说明。

Node.js

  1. 打开文本编辑器,然后复制以下代码。

    Copy
    console.log('Loading function'); exports.handler = function(event, context, callback) { // console.log('Received event:', JSON.stringify(event, null, 4)); var message = event.Records[0].Sns.Message; console.log('Message received from SNS:', message); callback(null, "Success"); };

    注意

    代码示例与 Node.js 运行时 v6.10 或 v4.3 兼容。有关更多信息,请参阅编程模型 (Node.js)

  2. 将该文件保存为 index.js

  3. index.js 文件压缩为 LambdaWithSNS.zip

下一步

步骤 2.2:创建执行角色(IAM 角色)

Java

打开文本编辑器,然后复制以下代码。

Copy
package example; import java.text.SimpleDateFormat; import java.util.Calendar; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.events.SNSEvent; public class LogEvent implements RequestHandler<SNSEvent, Object> { public Object handleRequest(SNSEvent request, Context context){ String timeStamp = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(Calendar.getInstance().getTime()); context.getLogger().log("Invocation started: " + timeStamp); context.getLogger().log(request.getRecords().get(0).getSNS().getMessage()); timeStamp = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(Calendar.getInstance().getTime()); context.getLogger().log("Invocation completed: " + timeStamp); return null; } }

使用之前的代码 (在名为 LambdaWithSNS.java 的文件中) 创建一个部署程序包。确保添加以下依赖项:

  • aws-lambda-java-core

  • aws-lambda-java-events

有关更多信息,请参阅 使用 Java 编写 Lambda 函数的编程模型

部署程序包既可以是 .zip 文件,也可以是独立的 .jar。您可以使用自己熟悉的任何构建和打包工具来创建部署程序包。有关如何使用 Maven 构建工具创建独立 .jar 的示例,请参阅使用 Maven 但不借助任何 IDE 创建 .jar 部署程序包 (Java)使用 Maven 和 Eclipse IDE 创建 .jar 部署程序包 (Java)。有关如何使用 Gradle 构建工具创建 .zip 文件的示例,请参阅创建 .zip 部署程序包 (Java)

确认已创建您的部署程序包后,请转到下一步来创建 IAM 角色(执行角色)。您将在创建 Lambda 函数时指定此角色。

下一步

步骤 2.2:创建执行角色(IAM 角色)

Python

  1. 打开文本编辑器,然后复制以下代码。

    注意

    利用 from __future__ 语句,可以编写与 Python 2 或 3 兼容的代码。如果您使用的是运行时版本 3.6,则不必将它包含在内。

    Copy
    from __future__ import print_function import json print('Loading function') def lambda_handler(event, context): #print("Received event: " + json.dumps(event, indent=2)) message = event['Records'][0]['Sns']['Message'] print("From SNS: " + message) return message
  2. 将该文件保存为 lambda_handler.py

  3. lambda_handler.py 文件压缩为 LambdaWithSNS.zip

下一步

步骤 2.2:创建执行角色(IAM 角色)

本页内容: