创建自定义 AWS AppConfig 扩展 - AWS AppConfig

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

创建自定义 AWS AppConfig 扩展

扩展程序定义了它在 AWS AppConfig 工作流程中执行的一个或多个操作。例如, AWS 创作的AWS AppConfig deployment events to Amazon SNS扩展程序包括向Amazon SNS 主题发送通知的操作。每个操作都是在您与之交互时调用的, AWS AppConfig 或者 AWS AppConfig 是在代表您执行流程时调用的。这些被称为行动要点。 AWS AppConfig 扩展支持以下操作要点:

  • PRE_CREATE_HOSTED_CONFIGURATION_VERSION

  • PRE_START_DEPLOYMENT

  • ON_DEPLOYMENT_START

  • ON_DEPLOYMENT_STEP

  • ON_DEPLOYMENT_BAKING

  • ON_DEPLOYMENT_COMPLETE

  • ON_DEPLOYMENT_ROLLED_BACK

PRE_*操作点上配置的扩展操作将在请求验证之后但在 AWS AppConfig 执行与操作点名称对应的活动之前应用。这些操作调用与请求同时处理。如果发出多个请求,则操作调用将按顺序运行。另请注意,PRE_* 操作点接收并可以更改配置的内容。 PRE_* 操作点还可以响应错误并防止操作发生。

扩展也可以使用ON_*操作点与 AWS AppConfig 工作流程并行运行。 ON_*操作点是异步调用的。 ON_*操作点不接收配置的内容。如果扩展程序在 ON_* 操作点期间遇到错误,服务将忽略该错误并继续工作流。

以下示例扩展程序定义了一个调用 PRE_CREATE_HOSTED_CONFIGURATION_VERSION 操作点的操作。在该Uri字段中,操作指定了本演练前面创建的 MyS3ConfigurationBackUpExtension Lambda 函数的亚马逊资源名称 (ARN)。该操作还指定了在本演练前面ARN创建的 AWS Identity and Access Management (IAM) 代入角色。

AWS AppConfig 扩展示例

{ "Name": "MySampleExtension", "Description": "A sample extension that backs up configurations to an S3 bucket.", "Actions": { "PRE_CREATE_HOSTED_CONFIGURATION_VERSION": [ { "Name": "PreCreateHostedConfigVersionActionForS3Backup", "Uri": "arn:aws:lambda:aws-region:111122223333:function:MyS3ConfigurationBackUpExtension", "RoleArn": "arn:aws:iam::111122223333:role/ExtensionsTestRole" } ] }, "Parameters" : { "S3_BUCKET": { "Required": false } } }
注意

要查看创建扩展程序时的请求语法和字段描述,请参阅AWS AppConfig API参考中的CreateExtension主题。

创建扩展程序(控制台)
  1. https://console.aws.amazon.com/systems-manager/appconfig/上打开 AWS Systems Manager 控制台。

  2. 在导航窗格中,选择 AWS AppConfig

  3. 扩展程序 选项卡上,选择 创建扩展程序

  4. 对于 扩展程序名称,输入唯一的名称。在本演练中,请输入 MyS3ConfigurationBackUpExtension。(可选)输入描述。

  5. 操作 部分中,选择 添加新操作

  6. 对于 操作名称,输入唯一的名称。在本演练中,请输入 PreCreateHostedConfigVersionActionForS3Backup。此名称描述操作使用的操作点和扩展程序目的。

  7. 在 “操作点” 列表中,选择 PRECREATE_ HOSTED _ CONFIGURATION _ VERSION

  8. 对于 Uri,选择 Lambda 函数,然后在 Lambda 函数列表中选择该函数。如果您没有看到自己的函数,请确认您与创建函数的 AWS 区域 位置相同。

  9. 对于IAM角色,选择您在本演练之前创建的角色。

  10. 扩展参数(可选) 部分中,选择添加新参数

  11. 对于参数名称,请输入名称。在本演练中,请输入 S3_BUCKET

  12. 重复步骤 5-11,为 PRE_START_DEPLOYMENT 操作点创建第二个操作。

  13. 选择 创建扩展程序