本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對於事件封存和分析,Amazon SNS 現在建議使用其與 Amazon Data Firehose 的原生整合。您可以訂閱 Firehose 交付串流至 SNS 主題,這可讓您將通知傳送至封存和分析端點,例如 Amazon Simple Storage Service (Amazon S3) 儲存貯體、Amazon Redshift 資料表、Amazon OpenSearch Service (OpenSearch Service) 等。搭配使用 Amazon SNS 與 Firehose 交付串流是全受管且無程式碼的解決方案,不需要您使用 AWS Lambda 函數。如需詳細資訊,請參閱散發到 Firehose 交付串流。 |
本教學課程說明如何部署事件搜尋和分析管道,並讓管道訂閱 Amazon SNS 主題。此程序會自動將與管道相關聯的 AWS SAM 範本轉換為 AWS CloudFormation 堆疊,然後將堆疊部署到您的 AWS 帳戶。此程序還會建立和設定一組資源 (構成事件搜尋和分析管道),包括下列項目:
-
Amazon SQS 佇列
-
Lambda 函數
-
Firehose 交付串流
-
Amazon OpenSearch Service 網域
-
Amazon S3 無法投遞儲存貯體
如需以索引做為目的地設定串流的詳細資訊,請參閱《Amazon Data Firehose API 參考ElasticsearchDestinationConfiguration
》中的 。
如需有關轉換事件和設定事件緩衝、事件壓縮和事件加密的詳細資訊,請參閱《Amazon Data Firehose 開發人員指南》中的建立 Amazon Data Firehose 交付串流。
如需有關篩選事件的詳細資訊,請參閱本指南中的Amazon SNS 訂閱篩選政策。
-
登入 AWS Lambda 主控台
。 -
在導覽面板上,選擇 Functions (函數),然後選擇 Create function (建立函數)。
-
在 Create function (建立函數) 頁面上,執行下列動作:
-
選擇瀏覽無伺服器應用程式存放庫、公有應用程式、顯示建立自訂 IAM 角色或資源政策的應用程式。
-
搜尋
fork-event-search-analytics-pipeline
,然後選擇應用程式。
-
-
在 fork-event-search-analytics-pipeline 頁面上,執行下列動作:
-
在 Application settings (應用程式設定) 區段中,輸入 Application name (應用程式名稱) (例如,
my-app-search
)。注意
對於每個部署,應用程式名稱必須是唯一的。如果您重複使用應用程式名稱,部署只會更新先前部署的堆疊 (而不是建立新的 AWS CloudFormation 堆疊)。
-
(選用) 對於 DataTransformationFunctionArn,輸入 Lambda 函數的 ARN,以使用此函數來轉換傳入的事件。如果您不輸入值,資料轉換會停用。
-
(選用) 輸入下列其中之一 LogLevel 設置來執行應用程序的 Lambda 函數:
-
DEBUG
-
ERROR
-
INFO
(default) -
WARNING
-
-
(選用) 對於 SearchDomainArn,輸入叢集所在 OpenSearch Service 網域的 ARN,此叢集將設定所需的運算和儲存功能。如果您不輸入值,將會以預設組態建立新網域。
-
對於 TopicArn,輸入 Amazon SNS 主題的 ARN,表示分支管道的此執行個體將訂閱此主題。
-
對於 SearchIndexName,輸入事件搜尋和分析的 OpenSearch Service 索引名稱。
注意
索引名稱有下列配額:
-
不得包含大寫字母
-
不得包含下列字元:
\ / * ? " < > | ` , #
-
開頭不得為下列字元:
- + _
-
不得為下列字元:
. ..
-
長度不得超過 80 個字元
-
長度不得超過 255 個位元組
-
不得包含冒號 (從 OpenSearch Service 7.0 開始)
-
-
(選用) 輸入下列其中一項 OpenSearch Service 索引輪換期間的 SearchIndexRotationPeriod 設定:
-
NoRotation
(default) -
OneDay
-
OneHour
-
OneMonth
-
OneWeek
索引輪換會將時間戳記附加到索引名稱,方便看出舊資料已過期。
-
-
對於 SearchTypeName,輸入 OpenSearch Service 類型的名稱,以組織索引中的事件。
注意
-
OpenSearch Service 類型名稱可以包含任何字元 (null 位元組除外),但開頭不得為
_
。 -
若是 OpenSearch Service 6.x,每個索引僅能使用一個類型。如果您為已有其他類型的現有索引指定新類型,Firehose 會傳回執行時間錯誤。
-
-
(選用) 對於 StreamBufferingIntervalInSeconds 和 StreamBufferingSizeInMBs,輸入值來設定如何緩衝傳入的事件。如果您不輸入任何值,則會使用 300 秒和 5 MB。
-
(選用) 輸入以下其中一個 StreamCompressionFormat 設定來壓縮傳入的事件:
-
GZIP
-
SNAPPY
-
UNCOMPRESSED
(default) -
ZIP
-
-
(選用) 對於 StreamPrefix,輸入字串字首,以命名存放在 Amazon S3 無效字母儲存貯體中的檔案。如果您不輸入值,則不會使用字首。
-
(選用) 對於 StreamRetryDurationInSecons,輸入 Firehose 無法在 OpenSearch Service 索引中為事件編製索引的情況的重試持續時間。如果您不輸入值,則會使用 300 秒。
-
(選用) 對於 SubscriptionFilterPolicy,使用 JSON 格式輸入 Amazon SNS 訂閱篩選政策,以用於篩選傳入的事件。篩選政策決定哪些事件會在 OpenSearch Service 索引中編製索引。如果您不輸入值,則不會使用篩選 (所有事件都編製索引)。
-
選擇 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 主題的訊息會在由事件搜尋和分析管道佈建的 OpenSearch Service 索引中自動編製索引。如果管道無法為事件編製索引,則會將它存放在 Amazon S3 無效字母儲存貯體中。