使用AWS AppConfig deployment events to Amazon SQS擴充功能 - AWS AppConfig

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用AWS AppConfig deployment events to Amazon SQS擴充功能

AWS AppConfig deployment events to Amazon SQS延伸功能是 AWS 編寫的擴充功能,可協助您監視 AWS AppConfig 組態部署工作流程並採取行動。每當部署組態時,擴充功能會將訊息排入 Amazon 簡單佇列服務 (AmazonSQS) 佇列中。將擴充功能與其中一個 AWS AppConfig 應用程式、環境或組態設定檔產生關聯之後,請在每次組態部署開始、結束和復原之後,將訊息排入 AWS AppConfig 佇列。

如果您想進一步控制哪些動作點傳送 Amazon SQS 通知,可以建立自訂擴充功能,並在URI欄位中輸入 Amazon SQS 佇列 Amazon 資源名稱 (ARN)。如需有關建立延伸功能的資訊,請參閱逐步解說:建立自訂 AWS AppConfig 延伸

使用擴充功能

本節說明如何使用AWS AppConfig deployment events to Amazon SQS擴充功能。

步驟 1:設定 AWS AppConfig 將訊息排入佇列

將 Amazon SQS 政策添加到您的 Amazon SQS 隊列授予 AWS AppConfig (appconfig.amazonaws.com)發送消息許可(sqs:SendMessage)。如需詳細資訊,請參閱 Amazon SQS 政策的基本範例

步驟 2:建立擴充功能關聯

建立擴充功能關聯,將擴充功能附加至其中一個 AWS AppConfig 資源。您可以使用 AWS AppConfig 主控台或CreateExtensionAssociationAPI動作來建立關聯。建立關聯時,您可以指定 AWS AppConfig 應用程式、環境或組態設定檔ARN的關聯。如果您將擴充功能與應用程式或環境產生關聯,則會針對指定應用程式或環境中包含的任何組態設定檔傳送通知。建立關聯時,必須輸入包含要使用ARN之 Amazon SQS 佇列的Here參數。

建立關聯之後,當建立或部署指定 AWS AppConfig 資源的組態時,會 AWS AppConfig 呼叫擴充功能,並根據擴充功能中指定的動作點傳送通知。

注意

此擴充功能由下列動作點叫用:

  • ON_DEPLOYMENT_START

  • ON_DEPLOYMENT_COMPLETE

  • ON_DEPLOYMENT_ROLLED_BACK

您無法自訂此擴充功能的動作點。若要叫用不同的動作點,您可以建立自己的擴充功能。如需詳細資訊,請參閱逐步解說:建立自訂 AWS AppConfig 延伸

使用下列程序,透過使用 AWS Systems Manager 主控台或建立 AWS AppConfig 擴充功能關聯 AWS CLI。

若要建立擴充功能關聯 (主控台)
  1. https://console.aws.amazon.com/systems-manager/應用程序配置/打開 AWS Systems Manager 控制台。

  2. 在導覽窗格中,選擇 AWS AppConfig

  3. 在 [擴充功能] 索引標籤上,選擇 [新增至資源

  4. 在 [擴充功能資源詳細資訊] 區段中,選擇資源類型做為 [ AWS AppConfig 資源類型]。根據您選擇的資源, AWS AppConfig 會提示您選擇其他資源。

  5. 選擇建立與資源的關聯

以下是叫用擴充功能時傳送至 Amazon SQS 佇列的訊息範例。

{ "InvocationId":"7itcaxp", "Parameters":{ "queueArn":"arn:aws:sqs:us-east-1:111122223333:MySQSQueue" }, "Application":{ "Id":"1a2b3c4d", "Name":MyApp }, "Environment":{ "Id":"1a2b3c4d", "Name":MyEnv }, "ConfigurationProfile":{ "Id":"1a2b3c4d", "Name":"MyConfigProfile" }, "Description":null, "DeploymentNumber":"3", "ConfigurationVersion":"1", "Type":"OnDeploymentComplete" }