本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon SNS 整合部署事件重播管道
本教學課程說明如何部署事件重播管道,並讓管道訂閱 Amazon SNS 主題。此程序會自動將與管道相關聯的 AWS SAM 範本轉換為 AWS CloudFormation 堆疊,然後將堆疊部署到您的 AWS 帳戶。此程序還會建立和設定一組資源 (構成事件重播管道),包括 Amazon SQS 佇列和 Lambda 函數。
如需有關篩選事件的詳細資訊,請參閱本指南中的Amazon SNS 訂閱篩選政策。
-
登入 AWS Lambda 主控台
。 -
在導覽面板上,選擇 Functions (函數),然後選擇 Create function (建立函數)。
-
在 Create function (建立函數) 頁面上,執行下列動作:
-
選擇瀏覽無伺服器應用程式存放庫、公有應用程式、顯示建立自訂 IAM 角色或資源政策的應用程式。
-
搜尋
fork-event-replay-pipeline
,然後選擇應用程式。
-
-
在 fork-event-replay-pipeline 頁面上,執行下列動作:
-
在 Application settings (應用程式設定) 區段中,輸入 Application name (應用程式名稱) (例如,
my-app-replay
)。注意
對於每個部署,應用程式名稱必須是唯一的。如果您重複使用應用程式名稱,部署只會更新先前部署的 AWS CloudFormation 堆疊 (而不是建立新的堆疊)。
-
(選用) 輸入下列其中之一 LogLevel 設置來執行應用程序的 Lambda 函數:
-
DEBUG
-
ERROR
-
INFO
(default) -
WARNING
-
-
(選用) 對於 ReplayQueueRetentionPeriodInSeconds,輸入 Amazon SQS 重播佇列保留訊息的時間量 (以秒為單位)。如果您不輸入值,則會使用 1,209,600 秒 (14 天)。
-
對於 TopicArn,輸入 Amazon SNS 主題的 ARN,表示分支管道的此執行個體將訂閱此主題。
-
對於 DestinationQueueName,輸入 Amazon SQS 佇列的名稱,供 Lambda 重播函數將訊息轉送到此佇列。
-
(選用) 對於 SubscriptionFilterPolicy,使用 JSON 格式輸入 Amazon SNS 訂閱篩選政策,以用於篩選傳入的事件。篩選政策決定緩衝哪些事件來重播。如果您不輸入值,則不會使用篩選 (緩衝所有事件來重播)。
-
選擇 I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications. (我了解此應用程式會建立自訂 IAM 角色、資源政策及部署巢狀應用程式。),然後選擇 Deploy (部署)。
-
在部署狀態my-app 重播
頁面上,Lambda 會顯示您的應用程式正在部署狀態。
在資源區段中, AWS CloudFormation 開始建立堆疊,並顯示每個資源的 CREATE_IN_PROGRESS 狀態。程序完成時, AWS CloudFormation 會顯示 CREATE_COMPLETE 狀態。
當部署完成時,Lambda 會顯示 Your application has been deployed (您的應用程式已經完成部署) 狀態。
發佈到 Amazon SNS 主題的訊息會在由事件重播管道佈建的 Amazon SQS 佇列中自動緩衝以重播。
注意
在預設情況下會停用重播。若要啟用重播,請導覽到 Lambda 主控台的函數頁面,展開 Designer (設計工具) 區段,選擇 SQS 圖磚,然後在 SQS 區段中,選擇 Enabled (已啟用)。