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

步骤 2.3:创建 Lambda 函数并手动对其进行测试

请在此部分中执行以下操作:

  • 通过上传部署程序包来创建 Lambda 函数。

  • 通过手动调用 Lambda 函数并传递示例事件数据来对其进行测试。

步骤 2.3.1:创建 Lambda 函数(上传部署程序包)

在本步骤中,您将使用 AWS CLI 上传部署程序包。

在命令提示符处,使用 adminuser profile 运行下面的 Lambda CLI create-function 命令。

您需要提供 .zip 文件路径和执行角色 ARN 来更新该命令。--runtime 参数值可以是 python3.6python2.7nodejs6.10nodejs4.3java8,具体取决于您编写代码所用的语言。

Copy
$ aws lambda create-function \ --region region \ --function-name LambdaFunctionOverHttps \ --zip-file fileb://file-path/LambdaFunctionOverHttps.zip \ --role execution-role-arn \ --handler LambdaFunctionOverHttps.handler \ --runtime runtime-value \ --profile adminuser

或者,您也可以将 .zip 文件上传到同一 AWS 区域中的 Amazon S3 存储桶,然后在之前的命令中指定该存储桶和对象名称。您需要将 --zip-file 参数替换为 --code 参数,如下所示:

Copy
--code S3Bucket=bucket-name,S3Key=zip-file-object-key

注意

您可以使用 AWS Lambda 控制台创建 Lambda 函数,在这种情况下,应记下 create-function AWS CLI 命令参数的值。您应在控制台 UI 中提供相同的值。

步骤 2.3.2:测试 Lambda 函数(手动调用)

使用示例事件数据手动调用函数。建议您使用控制台来调用函数,因为控制台 UI 提供了用于查看执行结果(包括执行摘要、代码写入的日志和函数返回的结果)的用户友好型界面(因为控制台始终执行同步执行 - 使用 RequestResponse 调用类型来调用 Lambda 函数)。

测试 Lambda 函数(AWS 管理控制台)

  1. 步骤 2.2:手动调用 Lambda 函数并验证结果、日志和指标中按照入门练习中的步骤创建并调用 Lambda 函数。对于用于测试的示例事件,请在 Sample event template 中选择 Hello World,然后使用以下内容替换该数据:

    Copy
    { "operation": "echo", "payload": { "somekey1": "somevalue1", "somekey2": "somevalue2" } }
  2. 要测试 dynamo 操作之一(例如 read),请将输入数据更改为以下内容:

    Copy
    { "operation": "read", "tableName": "the name of your stream table", "payload": { "Key": { "the primary key of the table": "the value of the key" } } }
  3. 在控制台中验证结果。

测试 Lambda 函数 (AWS CLI)

  1. 将以下 JSON 复制到文件中并将其保存为 input.txt

    Copy
    { "operation": "echo", "payload": { "somekey1": "somevalue1", "somekey2": "somevalue2" } }
  2. 执行下面的 invoke 命令:

    Copy
    $ aws lambda invoke \ --invocation-type Event \ --function-name LambdaFunctionOverHttps \ --region region \ --payload file://file-path/input.txt \ --profile adminuser outputfile.txt

    注意

    在本教程示例中,如果您请求同步执行(RequestResponse 作为执行类型),则消息将保存在 outputfile.txt 文件中。函数在响应正文中返回字符串消息。如果您使用 Event 调用类型,则任何消息均不会返回到输出文件。在任一情况下,都需要 outputfile.txt 参数。

下一步

步骤 3:使用 Amazon API Gateway 创建 API 并对其进行测试