创建自定义 Amazon AppConfig 扩展程序 - Amazon AppConfig
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建自定义 Amazon AppConfig 扩展程序

扩展程序定义它在 Amazon AppConfig 工作流期间执行的一个或多个操作。例如,Amazon 编写的 Amazon AppConfig deployment events to Amazon SNS 扩展程序包含向 Amazon SNS 主题发送通知的操作。当您与 Amazon AppConfig 交互或 Amazon AppConfig 代表您执行进程时,都会调用每个操作。这些称为操作点。 Amazon 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_* 操作点上配置的扩展程序操作在请求验证之后应用,但在 Amazon AppConfig 执行与操作点名称对应的活动之前应用。这些操作调用与请求同时处理。如果发出多个请求,则操作调用将按顺序运行。另请注意,PRE_* 操作点接收并可以更改配置的内容。 PRE_* 操作点还可以响应错误并防止操作发生。

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

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

示例 Amazon 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 } } }
注意

若要在创建扩展时查看请求语法和字段说明,请参阅 Amazon AppConfig API 参考中的 CreateExtension 主题。

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

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

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

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

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

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

  7. 操作点列表中,选择 PRE_C REATE_HOSTED_CONFIGURATION_VERSION

  8. 对于 Uri,选择 Lambda 函数,然后在 Lambda 函数列表中选择该函数。如果看不到函数,请验证是否在创建函数的同一 Amazon Web Services 区域 中。

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

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

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

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

  13. 选择 创建扩展程序