使用 Lambda 示例 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Lambda 示例 Amazon CLI

以下代码示例向您展示了如何使用 with Lambda 来执行操作和实现常见场景。 Amazon Command Line Interface

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 add-layer-version-permission

Amazon CLI

向图层版本添加权限

以下add-layer-version-permission示例向指定账户授予使用图层版本 1 的权限my-layer

aws lambda add-layer-version-permission \ --layer-name my-layer \ --statement-id xaccount \ --action lambda:GetLayerVersion \ --principal 123456789012 \ --version-number 1

输出:

{ "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" } }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

以下代码示例演示如何使用 add-permission

Amazon CLI

向现有 Lambda 函数添加权限

以下add-permission示例授予 Amazon SNS 服务调用名为的函数的权限。my-function

aws lambda add-permission \ --function-name my-function \ --action lambda:InvokeFunction \ --statement-id sns \ --principal sns.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 开发人员指南中的Amazon 对 Lamb Amazon da 使用基于资源的策略

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考AddPermission中的。

以下代码示例演示如何使用 create-alias

Amazon 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-version 1 \ --name LIVE

输出:

{ "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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的配置 Lambda Amazon 函数别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateAlias中的。

以下代码示例演示如何使用 create-event-source-mapping

Amazon CLI

在事件源和 Amazon Lambda 函数之间创建映射

以下create-event-source-mapping示例在 SQS 队列和 Lambd my-function a 函数之间创建了映射。

aws lambda create-event-source-mapping \ --function-name my-function \ --batch-size 5 \ --event-source-arn arn: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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 L Amazon am bda 事件源映射

以下代码示例演示如何使用 create-function

Amazon CLI

创建 Lambda 函数

以下 create-function 示例创建一个名为 my-function 的 Lambda 函数。

aws lambda create-function \ --function-name my-function \ --runtime nodejs18.x \ --zip-file fileb://my-function.zip \ --handler my-function.handler \ --role arn: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": "" }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的配置Amazon Lambda 函数选项

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考CreateFunction中的。

以下代码示例演示如何使用 delete-alias

Amazon CLI

删除 Lambda 函数别名

以下 delete-alias 示例从 my-function Lambda 函数中删除了名为 LIVE 的别名。

aws lambda delete-alias \ --function-name my-function \ --name LIVE

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的配置 Lambda Amazon 函数别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteAlias中的。

以下代码示例演示如何使用 delete-event-source-mapping

Amazon CLI

删除事件源和 Amazon Lambda 函数之间的映射

以下delete-event-source-mapping示例删除了 SQS 队列和 Lambd my-function a 函数之间的映射。

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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 L Amazon am bda 事件源映射

以下代码示例演示如何使用 delete-function-concurrency

Amazon CLI

从函数中删除预留的并发执行限制

以下 delete-function-concurrency 示例从 my-function 函数中删除了预留的并发执行限制。

aws lambda delete-function-concurrency \ --function-name my-function

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的为 Lambda 函数预留并发

以下代码示例演示如何使用 delete-function-event-invoke-config

Amazon CLI

删除异步调用配置

以下delete-function-event-invoke-config示例删除指定函数GREEN别名的异步调用配置。

aws lambda delete-function-event-invoke-config --function-name my-function:GREEN

以下代码示例演示如何使用 delete-function

Amazon CLI

示例 1:按函数名称删除 Lambda 函数

以下 delete-function 示例删除通过指定函数名称命名为 my-function 的 Lambda 函数。

aws lambda delete-function \ --function-name my-function

此命令不生成任何输出。

示例 2:按函数 ARN 删除 Lambda 函数

以下 delete-function 示例删除通过指定函数 ARN 命名为 my-function 的 Lambda 函数。

aws lambda delete-function \ --function-name arn:aws:lambda:us-west-2:123456789012:function:my-function

此命令不生成任何输出。

示例 3:按部分函数 ARN 删除 Lambda 函数

以下 delete-function 示例删除通过指定函数的部分 ARN 命名为 my-function 的 Lambda 函数。

aws lambda delete-function \ --function-name 123456789012:function:my-function

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的配置Amazon Lambda 函数选项

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteFunction中的。

以下代码示例演示如何使用 delete-layer-version

Amazon CLI

删除 Lambda 层的某个版本

以下delete-layer-version示例删除名为的图层的版本 2 my-layer

aws lambda delete-layer-version \ --layer-name my-layer \ --version-number 2

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考DeleteLayerVersion中的。

以下代码示例演示如何使用 delete-provisioned-concurrency-config

Amazon CLI

删除预置并发配置

以下 delete-provisioned-concurrency-config 示例删除了指定函数 GREEN 别名的预置并发配置。

aws lambda delete-provisioned-concurrency-config \ --function-name my-function \ --qualifier GREEN

以下代码示例演示如何使用 get-account-settings

Amazon CLI

在某个地区检索有关您的账户的 Amazon 详细信息

以下 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 } }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的 Amazon Lambda 限制

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetAccountSettings中的。

以下代码示例演示如何使用 get-alias

Amazon CLI

检索关于函数别名的详细信息

以下 get-alias 示例展示了 my-function Lambda 函数中名为 LIVE 的别名的详细信息。

aws lambda get-alias \ --function-name my-function \ --name LIVE

输出:

{ "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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的配置 Lambda Amazon 函数别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetAlias中的。

以下代码示例演示如何使用 get-event-source-mapping

Amazon CLI

检索有关事件源映射的详细信息

以下get-event-source-mapping示例显示了 SQS 队列和 Lambd my-function a 函数之间映射的详细信息。

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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 L Amazon am bda 事件源映射

以下代码示例演示如何使用 get-function-concurrency

Amazon CLI

查看函数的预留并发设置

以下 get-function-concurrency 示例检索了指定函数的预留并发设置。

aws lambda get-function-concurrency \ --function-name my-function

输出:

{ "ReservedConcurrentExecutions": 250 }

以下代码示例演示如何使用 get-function-configuration

Amazon 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" }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的配置Amazon Lambda 函数选项

以下代码示例演示如何使用 get-function-event-invoke-config

Amazon 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" } } }

以下代码示例演示如何使用 get-function

Amazon 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": "" } }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的配置Amazon Lambda 函数选项

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetFunction中的。

以下代码示例演示如何使用 get-layer-version-by-arn

Amazon 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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

以下代码示例演示如何使用 get-layer-version-policy

Amazon CLI

检索 Lambda 层版本的权限策略

以下get-layer-version-policy示例显示名为的图层的版本 1 的策略信息my-layer

aws lambda get-layer-version-policy \ --layer-name my-layer \ --version-number 1

输出:

{ "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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

以下代码示例演示如何使用 get-layer-version

Amazon CLI

检索有关 Lambda 层版本的信息

以下get-layer-version示例显示名为的图层的版本 1 的信息my-layer

aws lambda get-layer-version \ --layer-name my-layer \ --version-number 1

输出:

{ "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" ] }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetLayerVersion中的。

以下代码示例演示如何使用 get-policy

Amazon 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 开发人员指南中的Amazon 对 Lamb Amazon da 使用基于资源的策略

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考GetPolicy中的。

以下代码示例演示如何使用 get-provisioned-concurrency-config

Amazon CLI

查看预置并发配置

以下 get-provisioned-concurrency-config 示例展示了指定函数 BLUE 别名的预置并发配置的详细信息。

aws lambda get-provisioned-concurrency-config \ --function-name my-function \ --qualifier BLUE

输出:

{ "RequestedProvisionedConcurrentExecutions": 100, "AvailableProvisionedConcurrentExecutions": 100, "AllocatedProvisionedConcurrentExecutions": 100, "Status": "READY", "LastModified": "2019-12-31T20:28:49+0000" }

以下代码示例演示如何使用 invoke

Amazon CLI

示例 1:同步调用 Lambda 函数

以下 invoke 示例同步调用该 my-function 函数。如果您使用的是 Amazon CLI 版本 2,则该cli-binary-format选项为必填项。有关更多信息,请参阅《Amazon 命令行界面版本 2 的用户指南》中 Amazon CLI 支持的全局命令行选项

aws lambda invoke \ --function-name my-function \ --cli-binary-format raw-in-base64-out \ --payload '{ "name": "Bob" }' \ response.json

输出:

{ "ExecutedVersion": "$LATEST", "StatusCode": 200 }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的同步调用

示例 2:异步调用 Lambda 函数

以下 invoke 示例异步调用该 my-function 函数。如果您使用的是 Amazon CLI 版本 2,则该cli-binary-format选项为必填项。有关更多信息,请参阅《Amazon 命令行界面版本 2 的用户指南》中 Amazon CLI 支持的全局命令行选项

aws lambda invoke \ --function-name my-function \ --invocation-type Event \ --cli-binary-format raw-in-base64-out \ --payload '{ "name": "Bob" }' \ response.json

输出:

{ "StatusCode": 202 }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的异步调用

  • 有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 Invoke

以下代码示例演示如何使用 list-aliases

Amazon CLI

检索 Lambda 函数的别名列表

以下list-aliases示例显示了 Lambd my-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" } ] }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的配置 Lambda Amazon 函数别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListAliases中的。

以下代码示例演示如何使用 list-event-source-mappings

Amazon CLI

列出函数的事件源映射

以下list-event-source-mappings示例显示了 Lambd my-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" } ] }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 L Amazon am bda 事件源映射

以下代码示例演示如何使用 list-function-event-invoke-configs

Amazon 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 } ] }

以下代码示例演示如何使用 list-functions

Amazon 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": "" } ] }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的配置Amazon Lambda 函数选项

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListFunctions中的。

以下代码示例演示如何使用 list-layer-versions

Amazon CLI

列出 Amazon 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" ] } ] }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListLayerVersions中的。

以下代码示例演示如何使用 list-layers

Amazon 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" ] } } ] }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListLayers中的。

以下代码示例演示如何使用 list-provisioned-concurrency-configs

Amazon 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" } ] }

以下代码示例演示如何使用 list-tags

Amazon 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" } }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的标记 Lambda 函数

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考ListTags中的。

以下代码示例演示如何使用 list-versions-by-function

Amazon 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" } ] }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的配置 Lambda Amazon 函数别名

以下代码示例演示如何使用 publish-layer-version

Amazon 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" \ --content S3Bucket=lambda-layers-us-west-2-123456789012,S3Key=layer.zip \ --compatible-runtimes python3.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" ] }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

以下代码示例演示如何使用 publish-version

Amazon 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": "" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的配置 Lambda Amazon 函数别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考PublishVersion中的。

以下代码示例演示如何使用 put-function-concurrency

Amazon CLI

配置函数的预留并发限制

以下 put-function-concurrency 示例为 my-function 函数配置了 100 个预留并发执行。

aws lambda put-function-concurrency \ --function-name my-function \ --reserved-concurrent-executions 100

输出:

{ "ReservedConcurrentExecutions": 100 }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的为 Lambda 函数预留并发

以下代码示例演示如何使用 put-function-event-invoke-config

Amazon CLI

为异步调用配置错误处理

以下put-function-event-invoke-config示例将最长事件持续时间设置为一小时,并禁止对指定函数进行重试。

aws lambda put-function-event-invoke-config \ --function-name my-function \ --maximum-event-age-in-seconds 3600 \ --maximum-retry-attempts 0

输出:

{ "LastModified": 1573686021.479, "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST", "MaximumRetryAttempts": 0, "MaximumEventAgeInSeconds": 3600, "DestinationConfig": { "OnSuccess": {}, "OnFailure": {} } }

以下代码示例演示如何使用 put-provisioned-concurrency-config

Amazon CLI

分配预置并发

以下 put-provisioned-concurrency-config 示例为指定函数的 BLUE 别名分配了 100 个预置并发。

aws lambda put-provisioned-concurrency-config \ --function-name my-function \ --qualifier BLUE \ --provisioned-concurrent-executions 100

输出:

{ "Requested ProvisionedConcurrentExecutions": 100, "Allocated ProvisionedConcurrentExecutions": 0, "Status": "IN_PROGRESS", "LastModified": "2019-11-21T19:32:12+0000" }

以下代码示例演示如何使用 remove-layer-version-permission

Amazon CLI

删除图层版本权限

以下remove-layer-version-permission示例删除了账户配置图层版本的权限。

aws lambda remove-layer-version-permission \ --layer-name my-layer \ --statement-id xaccount \ --version-number 1

此命令不生成任何输出。

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 Lambda Amazon 层

以下代码示例演示如何使用 remove-permission

Amazon CLI

从现有 Lambda 函数中删除权限

以下 remove-permission 示例删除了调用名为 my-function 的函数的权限。

aws lambda remove-permission \ --function-name my-function \ --statement-id sns

此命令不生成任何输出。

有关更多信息,请参阅 Lambda 开发人员指南中的Amazon 对 Lamb Amazon da 使用基于资源的策略

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考RemovePermission中的。

以下代码示例演示如何使用 tag-resource

Amazon 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"

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的标记 Lambda 函数

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考TagResource中的。

以下代码示例演示如何使用 untag-resource

Amazon CLI

从现有 Lambda 函数中删除标签

以下 untag-resource 示例从 my-function Lambda 函数中删除了键名称为 DEPARTMENT 的标签。

aws lambda untag-resource \ --resource arn:aws:lambda:us-west-2:123456789012:function:my-function \ --tag-keys DEPARTMENT

此命令不生成任何输出。

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的标记 Lambda 函数

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UntagResource中的。

以下代码示例演示如何使用 update-alias

Amazon CLI

更新函数别名

以下 update-alias 示例会更新名为 LIVE 的别名,该别名指向 my-function Lambda 函数的版本 3。

aws lambda update-alias \ --function-name my-function \ --function-version 3 \ --name LIVE

输出:

{ "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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的配置 Lambda Amazon 函数别名

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateAlias中的。

以下代码示例演示如何使用 update-event-source-mapping

Amazon CLI

更新事件源和 Amazon Lambda 函数之间的映射

以下update-event-source-mapping示例将指定映射中的批量大小更新为 8。

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --batch-size 8

输出:

{ "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" }

有关更多信息,请参阅 Amazon Lambda 开发人员指南中的 L Amazon am bda 事件源映射

以下代码示例演示如何使用 update-function-code

Amazon CLI

更新 Lambda 函数代码

以下 update-function-code 示例将 my-function 函数的未发布($LATEST)版本的代码替换为指定 zip 文件的内容。

aws lambda update-function-code \ --function-name my-function \ --zip-file fileb://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" }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的配置Amazon Lambda 函数选项

  • 有关 API 的详细信息,请参阅Amazon CLI 命令参考UpdateFunctionCode中的。

以下代码示例演示如何使用 update-function-configuration

Amazon CLI

修改函数的配置

以下 update-function-configuration 示例将 my-function 函数的未发布($LATEST)版本的内存大小修改为 256 MB。

aws lambda update-function-configuration \ --function-name my-function \ --memory-size 256

输出:

{ "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" }

有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的配置Amazon Lambda 函数选项

以下代码示例演示如何使用 update-function-event-invoke-config

Amazon 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" } } }