创建自定义 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. 打开 Amazon Systems Manager 控制台,网址为 https://console.aws.amazon.com/systems-manager/appconfig/

  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. 选择 创建扩展程序