步骤 2.3:创建 Lambda 函数并手动调用该函数(使用示例事件数据)
请在此部分中执行以下操作:
-
通过上传部署程序包来创建 Lambda 函数。
-
通过手动调用 Lambda 函数来对其进行测试。您应使用示例事件数据,而不是创建事件源。在下一节中,您将创建 Android 移动应用程序并测试端到端体验。
步骤 2.3.1:创建 Lambda 函数(上传部署程序包)
在本步骤中,您将使用 AWS CLI 上传部署程序包。
在命令提示符处,使用 adminuser profile
运行下面的 Lambda CLI create-function
命令。
您需要提供 .zip 文件路径和执行角色 ARN 来更新该命令。--runtime
参数值可以是 nodejs6.10
、nodejs4.3
或 java8
,具体取决于您编写代码所选的语言。
Copy$ aws lambda create-function \ --region us-east-1 \ --function-name AndroidBackendLambdaFunction \ --zip-file fileb://
file-path-to-jar-or-zip-deployment-package
\ --roleexecution-role-arn
\ --handlerhandler-name
\ --runtimeruntime-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 管理控制台)
-
在步骤 2.2:手动调用 Lambda 函数并验证结果、日志和指标中按照入门练习中的步骤创建并调用 Lambda 函数。在选择 Lambda 函数后,从 Actions 菜单中选择 Configure test event 以指定以下示例事件数据:
Copy{ "firstName": "first-name", "lastName": "last-name" }
-
在控制台中验证结果。
-
Execution result 应为具有以下返回值的
Succeeded
:Copy{ "greetings": "Hello
first-name
,last-name
." } -
查看 Summary 和 Log output 部分。
-
测试 Lambda 函数 (AWS CLI)
-
将下面的示例事件 JSON 保存到文件
input.txt
中。Copy{ "firstName": "first-name", "lastName": "last-name" }
-
执行下面的
invoke
命令:Copy$ aws lambda invoke \ --invocation-type Event \ --function-name AndroidBackendLambdaFunction \ --region us-east-1 \ --payload file://
file-path
/input.txt \ --profile adminuser outputfile.txt注意
在本教程示例中,消息保存在
outputfile.txt
文件中。如果您请求同步执行(RequestResponse
作为调用类型),函数将在响应正文中返回字符串消息。对于 Node.js,该消息可能为以下形式之一(您在代码中指定的任何一个):
context.succeed("
message
")context.fail("
message
")context.done(null, "
message
)对于 Java,它是返回语句中的消息:
return "
message
"