AWS Lambda 部署操作参考
您可以使用 AWS Lambda 部署操作来管理无服务器部署的应用程序代码部署。您可以部署函数并使用部署策略进行流量部署,如下所示:
-
用于流量转移的金丝雀和线性部署
-
一次性全部部署
注意
此操作仅支持 V2 类型管道。
操作类型
-
类别:
Deploy -
拥有者:
AWS -
提供方:
Lambda -
版本:
1
配置参数
- FunctionName
-
必需:是
您在 Lambda 中创建的函数的名称,例如
MyLambdaFunction。您必须已创建一个版本。
- FunctionAlias
-
必需:否
您在 Lambda 中创建并且是要部署到的函数的别名,例如
live。操作执行开始时,别名必须存在且后面有一个版本。(这将是回滚目标版本。)如果未提供,则该操作会将源构件部署到
$LATEST并创建新版本。在此使用案例中,部署策略和目标版本选项不可用。 - PublishedTargetVersion
-
必需:否
期望部署到 FunctionAlias 的 Lambda 函数版本。它可以是管道或操作级别变量,例如
#{variables.lambdaTargetVersion}。在操作开始执行时,版本必须已发布。如果未提供任何输入构件,则为必需项。
- DeployStrategy
-
必需:否(默认值是
AllAtOnce)确定 Lambda 部署操作将流量从 Lambda 函数的原始版本转移到 FunctionAlias 新版本的速率。可用的部署策略是金丝雀或线性。接受的格式:
-
AllAtOnce-所有流量一次性转移到更新后的 Lambda 函数。
如果未指定,则默认值为
AllAtOnce。 -
Canary10Percent5Minutes- 在第一次增量中转移 10% 的流量。其余 90% 在五分钟后进行部署。百分比和分钟数的值都可以更改。
-
Linear10PercentEvery1Minute- 每分钟转移 10% 的流量,直到所有流量转移完毕。百分比和分钟数的值都可以更改。
此字段有以下注意事项:
-
最长总等待时间为 2 天。
-
仅在提供 FunctionAlias 时可用。
-
- 警报
-
必需:否
为 Lambda 部署配置的逗号分隔的警报名称列表。最多可添加 10 个警报。当监控的警报进入 ALARM 状态时,操作失败。
下图显示了操作的编辑页面示例。
输入构件
-
构件数:
1 -
描述:为支持部署期间的脚本操作而提供的文件(如果有)。
输出构件
-
构件数:
0 -
描述:输出构件不适用于此操作类型。
输出变量
配置后,此操作会生成变量,该变量可由管道中下游操作的操作配置引用。此操作生成的变量可视为输出变量,即使操作没有命名空间也是如此。您可以使用命名空间配置操作,以使这些变量可用于下游操作的配置。
有关更多信息,请参阅 变量参考。
- FunctionVersion
-
已部署的新 Lambda 函数版本。
Lambda 部署操作的服务角色策略权限
当 CodePipeline 运行操作时,CodePipeline 服务角色需要以下权限,这些权限的范围已适当缩小,便于以最低权限进行访问。
操作声明
另请参阅
下列相关资源在您使用此操作的过程中会有所帮助。
-
教程:使用 CodePipeline 部署 Lambda 函数 - 本教程将引导您创建示例 Lambda 函数,您将在其中创建别名和版本,将压缩后的 Lambda 函数添加到源位置,然后在管道中运行 Lambda 操作。