AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Lambda 示例 AWS CLI
以下代码示例向您展示了如何使用 with Lambda 来执行操作和实现常见场景。 AWS Command Line Interface
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 add-layer-version-permission
。
- AWS CLI
-
向图层版本添加权限
以下
add-layer-version-permission
示例向指定账户授予使用图层版本 1 的权限my-layer
。aws lambda add-layer-version-permission \ --layer-name
my-layer
\ --statement-idxaccount
\ --actionlambda:GetLayerVersion
\ --principal123456789012
\ --version-number1
输出:
{ "RevisionId": "35d87451-f796-4a3f-a618-95a3671b0a0c", "Statement": { "Sid":"xaccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::210987654321:root" }, "Action":"lambda:GetLayerVersion", "Resource":"arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1" } }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “AddLayerVersionPermission AWS CLI
命令参考”。
-
以下代码示例演示如何使用 add-permission
。
- AWS CLI
-
向现有 Lambda 函数添加权限
以下
add-permission
示例授予 Amazon SNS 服务调用名为的函数的权限my-function
。aws lambda add-permission \ --function-name
my-function
\ --actionlambda:InvokeFunction
\ --statement-idsns
\ --principalsns.amazonaws.com
输出:
{ "Statement": { "Sid":"sns", "Effect":"Allow", "Principal":{ "Service":"sns.amazonaws.com" }, "Action":"lambda:InvokeFunction", "Resource":"arn:aws:lambda:us-east-2:123456789012:function:my-function" } }
有关更多信息,请参阅 Lambda 开发人员指南中的AWS 对 Lamb AWS da 使用基于资源的策略。
-
有关API详细信息,请参阅 “AddPermission AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-alias
。
- AWS CLI
-
为 Lambda 函数创建别名
以下
create-alias
示例会创建名为LIVE
的别名,该别名指向my-function
Lambda 函数的版本 1。aws lambda create-alias \ --function-name
my-function
\ --description"alias for live version of function"
\ --function-version1
\ --nameLIVE
输出:
{ "FunctionVersion": "1", "Name": "LIVE", "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:LIVE", "RevisionId": "873282ed-4cd3-4dc8-a069-d0c647e470c6", "Description": "alias for live version of function" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的配置 Lambda AWS 函数别名。
-
有关API详细信息,请参阅 “CreateAlias AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-event-source-mapping
。
- AWS CLI
-
在事件源和 AWS Lambda 函数之间创建映射
以下
create-event-source-mapping
示例在SQS队列和my-function
Lambda 函数之间创建映射。aws lambda create-event-source-mapping \ --function-name
my-function
\ --batch-size5
\ --event-source-arnarn:aws:sqs:us-west-2:123456789012:mySQSqueue
输出:
{ "UUID": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "StateTransitionReason": "USER_INITIATED", "LastModified": 1569284520.333, "BatchSize": 5, "State": "Creating", "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:mySQSqueue" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 L AWS am bda 事件源映射。
-
有关API详细信息,请参阅 “CreateEventSourceMapping AWS CLI
命令参考”。
-
以下代码示例演示如何使用 create-function
。
- AWS CLI
-
创建 Lambda 函数
以下
create-function
示例创建一个名为my-function
的 Lambda 函数。aws lambda create-function \ --function-name
my-function
\ --runtimenodejs18.x
\ --zip-filefileb://my-function.zip
\ --handlermy-function.handler
\ --rolearn:aws:iam::123456789012:role/service-role/MyTestFunction-role-tges6bf4
my-function.zip
的内容:This file is a deployment package that contains your function code and any dependencies.
输出:
{ "TracingConfig": { "Mode": "PassThrough" }, "CodeSha256": "PFn4S+er27qk+UuZSTKEQfNKG/XNn7QJs90mJgq6oH8=", "FunctionName": "my-function", "CodeSize": 308, "RevisionId": "873282ed-4cd3-4dc8-a069-d0c647e470c6", "MemorySize": 128, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "Version": "$LATEST", "Role": "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4", "Timeout": 3, "LastModified": "2023-10-14T22:26:11.234+0000", "Handler": "my-function.handler", "Runtime": "nodejs18.x", "Description": "" }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的配置AWS Lambda 函数选项。
-
有关API详细信息,请参阅 “CreateFunction AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-alias
。
- AWS CLI
-
删除 Lambda 函数别名
以下
delete-alias
示例从my-function
Lambda 函数中删除了名为LIVE
的别名。aws lambda delete-alias \ --function-name
my-function
\ --nameLIVE
此命令不生成任何输出。
有关更多信息,请参阅 AWS Lambda 开发人员指南中的配置 Lambda AWS 函数别名。
-
有关API详细信息,请参阅 “DeleteAlias AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-event-source-mapping
。
- AWS CLI
-
删除事件源和 AWS Lambda 函数之间的映射
以下
delete-event-source-mapping
示例删除SQS队列和my-function
Lambda 函数之间的映射。aws lambda delete-event-source-mapping \ --uuid
a1b2c3d4-5678-90ab-cdef-11111EXAMPLE
输出:
{ "UUID": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "StateTransitionReason": "USER_INITIATED", "LastModified": 1569285870.271, "BatchSize": 5, "State": "Deleting", "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:mySQSqueue" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 L AWS am bda 事件源映射。
-
有关API详细信息,请参阅 “DeleteEventSourceMapping AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-function-concurrency
。
- AWS CLI
-
从函数中删除预留的并发执行限制
以下
delete-function-concurrency
示例从my-function
函数中删除了预留的并发执行限制。aws lambda delete-function-concurrency \ --function-name
my-function
此命令不生成任何输出。
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的为 Lambda 函数预留并发。
-
有关API详细信息,请参阅 “DeleteFunctionConcurrency AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-function-event-invoke-config
。
- AWS CLI
-
删除异步调用配置
以下
delete-function-event-invoke-config
示例删除指定函数GREEN
别名的异步调用配置。aws lambda delete-function-event-invoke-config --function-name
my-function:GREEN
-
有关API详细信息,请参阅 “DeleteFunctionEventInvokeConfig AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-function
。
- AWS CLI
-
示例 1:按函数名称删除 Lambda 函数
以下
delete-function
示例删除通过指定函数名称命名为my-function
的 Lambda 函数。aws lambda delete-function \ --function-name
my-function
此命令不生成任何输出。
示例 2:按函数删除 Lambda 函数 ARN
以下
delete-function
示例删除my-function
通过指定函数命名的 Lambda 函数。ARNaws lambda delete-function \ --function-name
arn:aws:lambda:us-west-2:123456789012:function:my-function
此命令不生成任何输出。
示例 3:通过部分函数删除 Lambda 函数 ARN
以下
delete-function
示例my-function
通过指定函数的部分来删除命名的 Lambda 函数。ARNaws lambda delete-function \ --function-name
123456789012:function:my-function
此命令不生成任何输出。
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的配置AWS Lambda 函数选项。
-
有关API详细信息,请参阅 “DeleteFunction AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-layer-version
。
- AWS CLI
-
删除 Lambda 层的某个版本
以下
delete-layer-version
示例删除名为的图层的版本 2my-layer
。aws lambda delete-layer-version \ --layer-name
my-layer
\ --version-number2
此命令不生成任何输出。
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “DeleteLayerVersion AWS CLI
命令参考”。
-
以下代码示例演示如何使用 delete-provisioned-concurrency-config
。
- AWS CLI
-
删除预置并发配置
以下
delete-provisioned-concurrency-config
示例删除了指定函数GREEN
别名的预置并发配置。aws lambda delete-provisioned-concurrency-config \ --function-name
my-function
\ --qualifierGREEN
-
有关API详细信息,请参阅 “DeleteProvisionedConcurrencyConfig AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-account-settings
。
- AWS CLI
-
在某个地区检索有关您的账户的 AWS 详细信息
以下
get-account-settings
示例展示了账户的 Lambda 限制和使用信息。aws lambda get-account-settings
输出:
{ "AccountLimit": { "CodeSizeUnzipped": 262144000, "UnreservedConcurrentExecutions": 1000, "ConcurrentExecutions": 1000, "CodeSizeZipped": 52428800, "TotalCodeSize": 80530636800 }, "AccountUsage": { "FunctionCount": 4, "TotalCodeSize": 9426 } }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的 AWS Lambda 限制。
-
有关API详细信息,请参阅 “GetAccountSettings AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-alias
。
- AWS CLI
-
检索关于函数别名的详细信息
以下
get-alias
示例展示了my-function
Lambda 函数中名为LIVE
的别名的详细信息。aws lambda get-alias \ --function-name
my-function
\ --nameLIVE
输出:
{ "FunctionVersion": "3", "Name": "LIVE", "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:LIVE", "RevisionId": "594f41fb-b85f-4c20-95c7-6ca5f2a92c93", "Description": "alias for live version of function" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的配置 Lambda AWS 函数别名。
-
有关API详细信息,请参阅 “GetAlias AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-event-source-mapping
。
- AWS CLI
-
检索有关事件源映射的详细信息
以下
get-event-source-mapping
示例显示了SQS队列和my-function
Lambda 函数之间映射的详细信息。aws lambda get-event-source-mapping \ --uuid
"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
输出:
{ "UUID": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "StateTransitionReason": "USER_INITIATED", "LastModified": 1569284520.333, "BatchSize": 5, "State": "Enabled", "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:mySQSqueue" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 L AWS am bda 事件源映射。
-
有关API详细信息,请参阅 “GetEventSourceMapping AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-function-concurrency
。
- AWS CLI
-
查看函数的预留并发设置
以下
get-function-concurrency
示例检索了指定函数的预留并发设置。aws lambda get-function-concurrency \ --function-name
my-function
输出:
{ "ReservedConcurrentExecutions": 250 }
-
有关API详细信息,请参阅 “GetFunctionConcurrency AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-function-configuration
。
- AWS CLI
-
检索 Lambda 函数的版本特定设置
以下
get-function-configuration
示例展示了my-function
函数版本 2 的设置。aws lambda get-function-configuration \ --function-name
my-function:2
输出:
{ "FunctionName": "my-function", "LastModified": "2019-09-26T20:28:40.438+0000", "RevisionId": "e52502d4-9320-4688-9cd6-152a6ab7490d", "MemorySize": 256, "Version": "2", "Role": "arn:aws:iam::123456789012:role/service-role/my-function-role-uy3l9qyq", "Timeout": 3, "Runtime": "nodejs10.x", "TracingConfig": { "Mode": "PassThrough" }, "CodeSha256": "5tT2qgzYUHaqwR716pZ2dpkn/0J1FrzJmlKidWoaCgk=", "Description": "", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "CodeSize": 304, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:2", "Handler": "index.handler" }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的配置AWS Lambda 函数选项。
-
有关API详细信息,请参阅 “GetFunctionConfiguration AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-function-event-invoke-config
。
- AWS CLI
-
查看异步调用配置
以下
get-function-event-invoke-config
示例检索指定函数BLUE
别名的异步调用配置。aws lambda get-function-event-invoke-config \ --function-name
my-function:BLUE
输出:
{ "LastModified": 1577824396.653, "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE", "MaximumRetryAttempts": 0, "MaximumEventAgeInSeconds": 3600, "DestinationConfig": { "OnSuccess": {}, "OnFailure": { "Destination": "arn:aws:sqs:us-east-2:123456789012:failed-invocations" } } }
-
有关API详细信息,请参阅 “GetFunctionEventInvokeConfig AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-function
。
- AWS CLI
-
检索有关函数的信息
以下
get-function
示例显示有关my-function
函数的信息:aws lambda get-function \ --function-name
my-function
输出:
{ "Concurrency": { "ReservedConcurrentExecutions": 100 }, "Code": { "RepositoryType": "S3", "Location": "https://awslambda-us-west-2-tasks.s3.us-west-2.amazonaws.com/snapshots/123456789012/my-function..." }, "Configuration": { "TracingConfig": { "Mode": "PassThrough" }, "Version": "$LATEST", "CodeSha256": "5tT2qgzYUHoqwR616pZ2dpkn/0J1FrzJmlKidWaaCgk=", "FunctionName": "my-function", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "MemorySize": 128, "RevisionId": "28f0fb31-5c5c-43d3-8955-03e76c5c1075", "CodeSize": 304, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "Handler": "index.handler", "Role": "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq", "Timeout": 3, "LastModified": "2019-09-24T18:20:35.054+0000", "Runtime": "nodejs10.x", "Description": "" } }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的配置AWS Lambda 函数选项。
-
有关API详细信息,请参阅 “GetFunction AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-layer-version-by-arn
。
- AWS CLI
-
检索有关 Lambda 层版本的信息
以下
get-layer-version-by-arn
示例显示有关具有指定 Amazon 资源名称 (ARN) 的层版本的信息。aws lambda get-layer-version-by-arn \ --arn
"arn:aws:lambda:us-west-2:123456789012:layer:AWSLambda-Python311-SciPy1x:2"
输出:
{ "LayerVersionArn": "arn:aws:lambda:us-west-2:123456789012:layer:AWSLambda-Python311-SciPy1x:2", "Description": "AWS Lambda SciPy layer for Python 3.11 (scipy-1.1.0, numpy-1.15.4) https://github.com/scipy/scipy/releases/tag/v1.1.0 https://github.com/numpy/numpy/releases/tag/v1.15.4", "CreatedDate": "2023-10-12T10:09:38.398+0000", "LayerArn": "arn:aws:lambda:us-west-2:123456789012:layer:AWSLambda-Python311-SciPy1x", "Content": { "CodeSize": 41784542, "CodeSha256": "GGmv8ocUw4cly0T8HL0Vx/f5V4RmSCGNjDIslY4VskM=", "Location": "https://awslambda-us-west-2-layers.s3.us-west-2.amazonaws.com/snapshots/123456789012/..." }, "Version": 2, "CompatibleRuntimes": [ "python3.11" ], "LicenseInfo": "SciPy: https://github.com/scipy/scipy/blob/main/LICENSE.txt, NumPy: https://github.com/numpy/numpy/blob/main/LICENSE.txt" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “GetLayerVersionByArn AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-layer-version-policy
。
- AWS CLI
-
检索 Lambda 层版本的权限策略
以下
get-layer-version-policy
示例显示名为的图层的版本 1 的策略信息my-layer
。aws lambda get-layer-version-policy \ --layer-name
my-layer
\ --version-number1
输出:
{ "Policy": { "Version":"2012-10-17", "Id":"default", "Statement": [ { "Sid":"xaccount", "Effect":"Allow", "Principal": {"AWS":"arn:aws:iam::123456789012:root"}, "Action":"lambda:GetLayerVersion", "Resource":"arn:aws:lambda:us-west-2:123456789012:layer:my-layer:1" } ] }, "RevisionId": "c68f21d2-cbf0-4026-90f6-1375ee465cd0" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “GetLayerVersionPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-layer-version
。
- AWS CLI
-
检索有关 Lambda 层版本的信息
以下
get-layer-version
示例显示名为的图层的版本 1 的信息my-layer
。aws lambda get-layer-version \ --layer-name
my-layer
\ --version-number1
输出:
{ "Content": { "Location": "https://awslambda-us-east-2-layers.s3.us-east-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...", "CodeSha256": "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=", "CodeSize": 169 }, "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1", "Description": "My Python layer", "CreatedDate": "2018-11-14T23:03:52.894+0000", "Version": 1, "LicenseInfo": "MIT", "CompatibleRuntimes": [ "python3.10", "python3.11" ] }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “GetLayerVersion AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-policy
。
- AWS CLI
-
检索函数、版本或别名的基于资源的IAM策略
以下
get-policy
示例展示了有关my-function
Lambda 函数的策略信息。aws lambda get-policy \ --function-name
my-function
输出:
{ "Policy": { "Version":"2012-10-17", "Id":"default", "Statement": [ { "Sid":"iot-events", "Effect":"Allow", "Principal": {"Service":"iotevents.amazonaws.com"}, "Action":"lambda:InvokeFunction", "Resource":"arn:aws:lambda:us-west-2:123456789012:function:my-function" } ] }, "RevisionId": "93017fc9-59cb-41dc-901b-4845ce4bf668" }
有关更多信息,请参阅 Lambda 开发人员指南中的AWS 对 Lamb AWS da 使用基于资源的策略。
-
有关API详细信息,请参阅 “GetPolicy AWS CLI
命令参考”。
-
以下代码示例演示如何使用 get-provisioned-concurrency-config
。
- AWS CLI
-
查看预置并发配置
以下
get-provisioned-concurrency-config
示例展示了指定函数BLUE
别名的预置并发配置的详细信息。aws lambda get-provisioned-concurrency-config \ --function-name
my-function
\ --qualifierBLUE
输出:
{ "RequestedProvisionedConcurrentExecutions": 100, "AvailableProvisionedConcurrentExecutions": 100, "AllocatedProvisionedConcurrentExecutions": 100, "Status": "READY", "LastModified": "2019-12-31T20:28:49+0000" }
-
有关API详细信息,请参阅 “GetProvisionedConcurrencyConfig AWS CLI
命令参考”。
-
以下代码示例演示如何使用 invoke
。
- AWS CLI
-
示例 1:同步调用 Lambda 函数
以下
invoke
示例同步调用该my-function
函数。如果您使用的是 AWS CLI版本 2,则该cli-binary-format
选项为必填项。有关更多信息,请参阅《命令行界面用户指南》中AWS CLI支持的全局AWS 命令行选项。aws lambda invoke \ --function-name
my-function
\ --cli-binary-formatraw-in-base64-out
\ --payload '{ "name": "Bob" }
' \response.json
输出:
{ "ExecutedVersion": "$LATEST", "StatusCode": 200 }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的同步调用。
示例 2:异步调用 Lambda 函数
以下
invoke
示例异步调用该my-function
函数。如果您使用的是 AWS CLI版本 2,则该cli-binary-format
选项为必填项。有关更多信息,请参阅《命令行界面用户指南》中AWS CLI支持的全局AWS 命令行选项。aws lambda invoke \ --function-name
my-function
\ --invocation-typeEvent
\ --cli-binary-formatraw-in-base64-out
\ --payload '{ "name": "Bob" }
' \response.json
输出:
{ "StatusCode": 202 }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的异步调用。
-
有关API详细信息,请参阅《AWS CLI 命令参考》中的 “调
用”。
-
以下代码示例演示如何使用 list-aliases
。
- AWS CLI
-
检索 Lambda 函数的别名列表
以下
list-aliases
示例显示了 Lambdmy-function
a 函数的别名列表。aws lambda list-aliases \ --function-name
my-function
输出:
{ "Aliases": [ { "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:BETA", "RevisionId": "a410117f-ab16-494e-8035-7e204bb7933b", "FunctionVersion": "2", "Name": "BETA", "Description": "alias for beta version of function" }, { "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:LIVE", "RevisionId": "21d40116-f8b1-40ba-9360-3ea284da1bb5", "FunctionVersion": "1", "Name": "LIVE", "Description": "alias for live version of function" } ] }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的配置 Lambda AWS 函数别名。
-
有关API详细信息,请参阅 “ListAliases AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-event-source-mappings
。
- AWS CLI
-
列出函数的事件源映射
以下
list-event-source-mappings
示例显示了 Lambdmy-function
a 函数的事件源映射列表。aws lambda list-event-source-mappings \ --function-name
my-function
输出:
{ "EventSourceMappings": [ { "UUID": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "StateTransitionReason": "USER_INITIATED", "LastModified": 1569284520.333, "BatchSize": 5, "State": "Enabled", "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:mySQSqueue" } ] }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 L AWS am bda 事件源映射。
-
有关API详细信息,请参阅 “ListEventSourceMappings AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-function-event-invoke-configs
。
- AWS CLI
-
查看异步调用配置列表
以下
list-function-event-invoke-configs
示例列出了指定函数的异步调用配置。aws lambda list-function-event-invoke-configs \ --function-name
my-function
输出:
{ "FunctionEventInvokeConfigs": [ { "LastModified": 1577824406.719, "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:GREEN", "MaximumRetryAttempts": 2, "MaximumEventAgeInSeconds": 1800 }, { "LastModified": 1577824396.653, "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE", "MaximumRetryAttempts": 0, "MaximumEventAgeInSeconds": 3600 } ] }
-
有关API详细信息,请参阅 “ListFunctionEventInvokeConfigs AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-functions
。
- AWS CLI
-
检索 Lambda 函数列表
以下
list-functions
示例显示当前用户所有函数的列表。aws lambda list-functions
输出:
{ "Functions": [ { "TracingConfig": { "Mode": "PassThrough" }, "Version": "$LATEST", "CodeSha256": "dBG9m8SGdmlEjw/JYXlhhvCrAv5TxvXsbL/RMr0fT/I=", "FunctionName": "helloworld", "MemorySize": 128, "RevisionId": "1718e831-badf-4253-9518-d0644210af7b", "CodeSize": 294, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:helloworld", "Handler": "helloworld.handler", "Role": "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4", "Timeout": 3, "LastModified": "2023-09-23T18:32:33.857+0000", "Runtime": "nodejs18.x", "Description": "" }, { "TracingConfig": { "Mode": "PassThrough" }, "Version": "$LATEST", "CodeSha256": "sU0cJ2/hOZevwV/lTxCuQqK3gDZP3i8gUoqUUVRmY6E=", "FunctionName": "my-function", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "MemorySize": 256, "RevisionId": "93017fc9-59cb-41dc-901b-4845ce4bf668", "CodeSize": 266, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "Handler": "index.handler", "Role": "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq", "Timeout": 3, "LastModified": "2023-10-01T16:47:28.490+0000", "Runtime": "nodejs18.x", "Description": "" }, { "Layers": [ { "CodeSize": 41784542, "Arn": "arn:aws:lambda:us-west-2:420165488524:layer:AWSLambda-Python37-SciPy1x:2" }, { "CodeSize": 4121, "Arn": "arn:aws:lambda:us-west-2:123456789012:layer:pythonLayer:1" } ], "TracingConfig": { "Mode": "PassThrough" }, "Version": "$LATEST", "CodeSha256": "ZQukCqxtkqFgyF2cU41Avj99TKQ/hNihPtDtRcc08mI=", "FunctionName": "my-python-function", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "MemorySize": 128, "RevisionId": "80b4eabc-acf7-4ea8-919a-e874c213707d", "CodeSize": 299, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-python-function", "Handler": "lambda_function.lambda_handler", "Role": "arn:aws:iam::123456789012:role/service-role/my-python-function-role-z5g7dr6n", "Timeout": 3, "LastModified": "2023-10-01T19:40:41.643+0000", "Runtime": "python3.11", "Description": "" } ] }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的配置AWS Lambda 函数选项。
-
有关API详细信息,请参阅 “ListFunctions AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-layer-versions
。
- AWS CLI
-
列出 AWS Lambda 层的版本
以下
list-layers-versions
示例显示名为的层的版本的相关信息my-layer
。aws lambda list-layer-versions \ --layer-name
my-layer
输出:
{ "Layers": [ { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", "Version": 2, "Description": "My layer", "CreatedDate": "2023-11-15T00:37:46.592+0000", "CompatibleRuntimes": [ "python3.10", "python3.11" ] } ] }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “ListLayerVersions AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-layers
。
- AWS CLI
-
列出与函数运行时兼容的图层
以下
list-layers
示例显示了与 Python 3.11 运行时兼容的图层的相关信息。aws lambda list-layers \ --compatible-runtime
python3.11
输出:
{ "Layers": [ { "LayerName": "my-layer", "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", "LatestMatchingVersion": { "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", "Version": 2, "Description": "My layer", "CreatedDate": "2023-11-15T00:37:46.592+0000", "CompatibleRuntimes": [ "python3.10", "python3.11" ] } } ] }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “ListLayers AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-provisioned-concurrency-configs
。
- AWS CLI
-
获取预置并发配置列表
以下
list-provisioned-concurrency-configs
示例列出了指定函数的预置并发配置。aws lambda list-provisioned-concurrency-configs \ --function-name
my-function
输出:
{ "ProvisionedConcurrencyConfigs": [ { "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:GREEN", "RequestedProvisionedConcurrentExecutions": 100, "AvailableProvisionedConcurrentExecutions": 100, "AllocatedProvisionedConcurrentExecutions": 100, "Status": "READY", "LastModified": "2019-12-31T20:29:00+0000" }, { "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE", "RequestedProvisionedConcurrentExecutions": 100, "AvailableProvisionedConcurrentExecutions": 100, "AllocatedProvisionedConcurrentExecutions": 100, "Status": "READY", "LastModified": "2019-12-31T20:28:49+0000" } ] }
-
有关API详细信息,请参阅 “ListProvisionedConcurrencyConfigs AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-tags
。
- AWS CLI
-
检索 Lambda 函数的标签列表
以下
list-tags
示例展示了附加到my-function
Lambda 函数的标签。aws lambda list-tags \ --resource
arn:aws:lambda:us-west-2:123456789012:function:my-function
输出:
{ "Tags": { "Category": "Web Tools", "Department": "Sales" } }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的标记 Lambda 函数。
-
有关API详细信息,请参阅 “ListTags AWS CLI
命令参考”。
-
以下代码示例演示如何使用 list-versions-by-function
。
- AWS CLI
-
检索函数的版本列表
以下
list-versions-by-function
示例展示了my-function
Lambda 函数的版本列表。aws lambda list-versions-by-function \ --function-name
my-function
输出:
{ "Versions": [ { "TracingConfig": { "Mode": "PassThrough" }, "Version": "$LATEST", "CodeSha256": "sU0cJ2/hOZevwV/lTxCuQqK3gDZP3i8gUoqUUVRmY6E=", "FunctionName": "my-function", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "MemorySize": 256, "RevisionId": "93017fc9-59cb-41dc-901b-4845ce4bf668", "CodeSize": 266, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:$LATEST", "Handler": "index.handler", "Role": "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq", "Timeout": 3, "LastModified": "2019-10-01T16:47:28.490+0000", "Runtime": "nodejs10.x", "Description": "" }, { "TracingConfig": { "Mode": "PassThrough" }, "Version": "1", "CodeSha256": "5tT2qgzYUHoqwR616pZ2dpkn/0J1FrzJmlKidWaaCgk=", "FunctionName": "my-function", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "MemorySize": 256, "RevisionId": "949c8914-012e-4795-998c-e467121951b1", "CodeSize": 304, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:1", "Handler": "index.handler", "Role": "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq", "Timeout": 3, "LastModified": "2019-09-26T20:28:40.438+0000", "Runtime": "nodejs10.x", "Description": "new version" }, { "TracingConfig": { "Mode": "PassThrough" }, "Version": "2", "CodeSha256": "sU0cJ2/hOZevwV/lTxCuQqK3gDZP3i8gUoqUUVRmY6E=", "FunctionName": "my-function", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "MemorySize": 256, "RevisionId": "cd669f21-0f3d-4e1c-9566-948837f2e2ea", "CodeSize": 266, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:2", "Handler": "index.handler", "Role": "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq", "Timeout": 3, "LastModified": "2019-10-01T16:47:28.490+0000", "Runtime": "nodejs10.x", "Description": "newer version" } ] }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的配置 Lambda AWS 函数别名。
-
有关API详细信息,请参阅 “ListVersionsByFunction AWS CLI
命令参考”。
-
以下代码示例演示如何使用 publish-layer-version
。
- AWS CLI
-
创建 Lambda 层版本
以下
publish-layer-version
示例创建了一个新的 Python 库层版本。该命令检索在指定 S3 存储桶layer.zip
中命名的文件的图层内容。aws lambda publish-layer-version \ --layer-name
my-layer
\ --description"My Python layer"
\ --license-info"MIT"
\ --contentS3Bucket=lambda-layers-us-west-2-123456789012,S3Key=layer.zip
\ --compatible-runtimespython3.10
python3.11
输出:
{ "Content": { "Location": "https://awslambda-us-west-2-layers.s3.us-west-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH...", "CodeSha256": "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=", "CodeSize": 169 }, "LayerArn": "arn:aws:lambda:us-west-2:123456789012:layer:my-layer", "LayerVersionArn": "arn:aws:lambda:us-west-2:123456789012:layer:my-layer:1", "Description": "My Python layer", "CreatedDate": "2023-11-14T23:03:52.894+0000", "Version": 1, "LicenseInfo": "MIT", "CompatibleRuntimes": [ "python3.10", "python3.11" ] }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “PublishLayerVersion AWS CLI
命令参考”。
-
以下代码示例演示如何使用 publish-version
。
- AWS CLI
-
发布函数的新版本
以下
publish-version
示例发布了my-function
Lambda 函数的新版本。aws lambda publish-version \ --function-name
my-function
输出:
{ "TracingConfig": { "Mode": "PassThrough" }, "CodeSha256": "dBG9m8SGdmlEjw/JYXlhhvCrAv5TxvXsbL/RMr0fT/I=", "FunctionName": "my-function", "CodeSize": 294, "RevisionId": "f31d3d39-cc63-4520-97d4-43cd44c94c20", "MemorySize": 128, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:3", "Version": "2", "Role": "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4", "Timeout": 3, "LastModified": "2019-09-23T18:32:33.857+0000", "Handler": "my-function.handler", "Runtime": "nodejs10.x", "Description": "" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的配置 Lambda AWS 函数别名。
-
有关API详细信息,请参阅 “PublishVersion AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-function-concurrency
。
- AWS CLI
-
配置函数的预留并发限制
以下
put-function-concurrency
示例为my-function
函数配置了 100 个预留并发执行。aws lambda put-function-concurrency \ --function-name
my-function
\ --reserved-concurrent-executions100
输出:
{ "ReservedConcurrentExecutions": 100 }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的为 Lambda 函数预留并发。
-
有关API详细信息,请参阅 “PutFunctionConcurrency AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-function-event-invoke-config
。
- AWS CLI
-
为异步调用配置错误处理
以下
put-function-event-invoke-config
示例将最长事件持续时间设置为一小时,并禁止对指定函数进行重试。aws lambda put-function-event-invoke-config \ --function-name
my-function
\ --maximum-event-age-in-seconds3600
\ --maximum-retry-attempts0
输出:
{ "LastModified": 1573686021.479, "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST", "MaximumRetryAttempts": 0, "MaximumEventAgeInSeconds": 3600, "DestinationConfig": { "OnSuccess": {}, "OnFailure": {} } }
-
有关API详细信息,请参阅 “PutFunctionEventInvokeConfig AWS CLI
命令参考”。
-
以下代码示例演示如何使用 put-provisioned-concurrency-config
。
- AWS CLI
-
分配预置并发
以下
put-provisioned-concurrency-config
示例为指定函数的BLUE
别名分配了 100 个预置并发。aws lambda put-provisioned-concurrency-config \ --function-name
my-function
\ --qualifierBLUE
\ --provisioned-concurrent-executions100
输出:
{ "Requested ProvisionedConcurrentExecutions": 100, "Allocated ProvisionedConcurrentExecutions": 0, "Status": "IN_PROGRESS", "LastModified": "2019-11-21T19:32:12+0000" }
-
有关API详细信息,请参阅 “PutProvisionedConcurrencyConfig AWS CLI
命令参考”。
-
以下代码示例演示如何使用 remove-layer-version-permission
。
- AWS CLI
-
删除图层版本权限
以下
remove-layer-version-permission
示例删除了账户配置图层版本的权限。aws lambda remove-layer-version-permission \ --layer-name
my-layer
\ --statement-idxaccount
\ --version-number1
此命令不生成任何输出。
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 Lambda AWS 层。
-
有关API详细信息,请参阅 “RemoveLayerVersionPermission AWS CLI
命令参考”。
-
以下代码示例演示如何使用 remove-permission
。
- AWS CLI
-
从现有 Lambda 函数中删除权限
以下
remove-permission
示例删除了调用名为my-function
的函数的权限。aws lambda remove-permission \ --function-name
my-function
\ --statement-idsns
此命令不生成任何输出。
有关更多信息,请参阅 Lambda 开发人员指南中的AWS 对 Lamb AWS da 使用基于资源的策略。
-
有关API详细信息,请参阅 “RemovePermission AWS CLI
命令参考”。
-
以下代码示例演示如何使用 tag-resource
。
- AWS CLI
-
将标签添加到现有 Lambda 函数
以下
tag-resource
示例向指定的 Lambda 函数添加了键名称为DEPARTMENT
和值为Department A
的标签。aws lambda tag-resource \ --resource
arn:aws:lambda:us-west-2:123456789012:function:my-function
\ --tags"DEPARTMENT=Department A"
此命令不生成任何输出。
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的标记 Lambda 函数。
-
有关API详细信息,请参阅 “TagResource AWS CLI
命令参考”。
-
以下代码示例演示如何使用 untag-resource
。
- AWS CLI
-
从现有 Lambda 函数中删除标签
以下
untag-resource
示例从my-function
Lambda 函数中删除了键名称为DEPARTMENT
的标签。aws lambda untag-resource \ --resource
arn:aws:lambda:us-west-2:123456789012:function:my-function
\ --tag-keysDEPARTMENT
此命令不生成任何输出。
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的标记 Lambda 函数。
-
有关API详细信息,请参阅 “UntagResource AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-alias
。
- AWS CLI
-
更新函数别名
以下
update-alias
示例会更新名为LIVE
的别名,该别名指向my-function
Lambda 函数的版本 3。aws lambda update-alias \ --function-name
my-function
\ --function-version3
\ --nameLIVE
输出:
{ "FunctionVersion": "3", "Name": "LIVE", "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:LIVE", "RevisionId": "594f41fb-b85f-4c20-95c7-6ca5f2a92c93", "Description": "alias for live version of function" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的配置 Lambda AWS 函数别名。
-
有关API详细信息,请参阅 “UpdateAlias AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-event-source-mapping
。
- AWS CLI
-
更新事件源和 AWS Lambda 函数之间的映射
以下
update-event-source-mapping
示例将指定映射中的批量大小更新为 8。aws lambda update-event-source-mapping \ --uuid
"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE"
\ --batch-size8
输出:
{ "UUID": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "StateTransitionReason": "USER_INITIATED", "LastModified": 1569284520.333, "BatchSize": 8, "State": "Updating", "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:mySQSqueue" }
有关更多信息,请参阅 AWS Lambda 开发人员指南中的 L AWS am bda 事件源映射。
-
有关API详细信息,请参阅 “UpdateEventSourceMapping AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-function-code
。
- AWS CLI
-
更新 Lambda 函数代码
以下
update-function-code
示例将my-function
函数的未发布 ($LATEST) 版本的代码替换为指定 zip 文件的内容。aws lambda update-function-code \ --function-name
my-function
\ --zip-filefileb://my-function.zip
输出:
{ "FunctionName": "my-function", "LastModified": "2019-09-26T20:28:40.438+0000", "RevisionId": "e52502d4-9320-4688-9cd6-152a6ab7490d", "MemorySize": 256, "Version": "$LATEST", "Role": "arn:aws:iam::123456789012:role/service-role/my-function-role-uy3l9qyq", "Timeout": 3, "Runtime": "nodejs10.x", "TracingConfig": { "Mode": "PassThrough" }, "CodeSha256": "5tT2qgzYUHaqwR716pZ2dpkn/0J1FrzJmlKidWoaCgk=", "Description": "", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "CodeSize": 304, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "Handler": "index.handler" }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的配置AWS Lambda 函数选项。
-
有关API详细信息,请参阅 “UpdateFunctionCode AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-function-configuration
。
- AWS CLI
-
修改函数的配置
以下
update-function-configuration
示例将函数的未发布 ($LATEST) 版本的内存大小修改为 256 MB。my-function
aws lambda update-function-configuration \ --function-name
my-function
\ --memory-size256
输出:
{ "FunctionName": "my-function", "LastModified": "2019-09-26T20:28:40.438+0000", "RevisionId": "e52502d4-9320-4688-9cd6-152a6ab7490d", "MemorySize": 256, "Version": "$LATEST", "Role": "arn:aws:iam::123456789012:role/service-role/my-function-role-uy3l9qyq", "Timeout": 3, "Runtime": "nodejs10.x", "TracingConfig": { "Mode": "PassThrough" }, "CodeSha256": "5tT2qgzYUHaqwR716pZ2dpkn/0J1FrzJmlKidWoaCgk=", "Description": "", "VpcConfig": { "SubnetIds": [], "VpcId": "", "SecurityGroupIds": [] }, "CodeSize": 304, "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "Handler": "index.handler" }
有关更多信息,请参阅《AWS Lambda 开发人员指南》中的配置AWS Lambda 函数选项。
-
有关API详细信息,请参阅 “UpdateFunctionConfiguration AWS CLI
命令参考”。
-
以下代码示例演示如何使用 update-function-event-invoke-config
。
- AWS CLI
-
更新异步调用配置
以下
update-function-event-invoke-config
示例将失败时目标添加到指定函数的现有异步调用配置中。aws lambda update-function-event-invoke-config \ --function-name
my-function
\ --destination-config '{"OnFailure":{"Destination": "arn:aws:sqs:us-east-2:123456789012:destination"}}
'输出:
{ "LastModified": 1573687896.493, "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST", "MaximumRetryAttempts": 0, "MaximumEventAgeInSeconds": 3600, "DestinationConfig": { "OnSuccess": {}, "OnFailure": { "Destination": "arn:aws:sqs:us-east-2:123456789012:destination" } } }
-
有关API详细信息,请参阅 “UpdateFunctionEventInvokeConfig AWS CLI
命令参考”。
-