我想使用 Amazon EventBridge Pipes 接收來自 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 主題的記錄。
解決方法
**注意:**如需有關 Amazon MSK 以及如何建立叢集的詳細資訊,請參閱開始使用 Amazon MSK。
先決條件
- MSK 叢集驗證:EventBridge 必須具有存取 MSK 叢集、擷取記錄和執行其他工作的權限。
- 網路組態:EventBridge 必須能夠存取與您 MSK 叢集關聯的 Amazon Virtual Private Cloud (Amazon VPC) 資源。
- Amazon MSK 執行角色權限:EventBridge 需要權限才能管理與 MSK 主題相關的資源。
使用 Amazon MSK 部署 EventBridge Pipes
請完成下列步驟:
- 瀏覽至您對應 AWS 區域中的 EventBridge 主控台。
- 在導覽窗格中,選擇 Pipes (管線)。
- 選擇 Create pipe (建立管線)。
- 輸入管線的名稱。
- (選用) 輸入管線的說明。
選取 Amazon MSK 作為管線的來源
請完成下列步驟:
- 在 Select source (選取來源) 中,選擇 Amazon MSK。
- 選擇您先前建立的 Amazon MSK 叢集。
- 輸入用於在 Apache Kafka 叢集中儲存記錄的 Apache Kafka 主題名稱。
- (選用) 提供要加入的 Apache Kafka 消費者群組 ID。如需詳細資訊,請參閱 ventBridge Pipes 中以 Amazon Managed Streaming for Apache Kafka 主題作為來源。
- (選用) 選擇驗證方法和私密金鑰。
套用其他設定
請完成下列步驟:
- (選用) 設定 Batch size (批次大小) 和 batch window (批次視窗)。
- 設定 starting position (起始位置)。
**注意:**在起始位置,預設為 latest (最新)。如有需要,請變更為 Trim horizon (最舊)。 Trim horizon (最舊) 在 Apache Kafka 中相當於 Earliest (最早)。
- (選用) 套用 Filtering (篩選) 和 Enrichment (擴充) 設定。
- 從 Target service (目標服務) 清單中選擇您的目標。
- (選用) 定義 input transformer (輸入轉換器)。
- 確認管線組態正確。然後,選擇 Create pipe (建立管線)。
當管線轉換為執行中狀態時,EventBridge 會在內部輪詢來自來源的新訊息。然後,它會同步調用目標。
**注意:**事件承載包含一個訊息陣列。每個項目都包含 MSK 主題和 MSK 分區識別碼的詳細資訊,以及時間戳記和 base64 編碼的訊息。
以下是 MSK 事件範例:
[ {
"eventSource": "aws:kafka",
"eventSourceArn": "arn:aws:kafka:sa-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2",
"eventSourceKey": "mytopic-0",
"topic": "mytopic",
"partition": "0",
"offset": 15,
"timestamp": 1545084650987,
"timestampType": "CREATE_TIME",
"key": "abcDEFghiJKLmnoPQRstuVWXyz1234==",
"value": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==",
"headers": [
{
"headerKey": [
104,
101,
97,
100,
101,
114,
86,
97,
108,
117,
101
]
}
]
}
]
對調用相關錯誤進行疑難排解
透過您所在區域的 CloudWatch 主控台使用 Amazon CloudWatch 指標來隔離管線的啟動、調用或限流相關問題。
當您建立、刪除和更新管線時,作業可能會導致失敗狀態。如需詳細資訊,請參閱管線失敗狀態。
當您調用管線時,可能會發生兩種主要類型的錯誤:管線內部錯誤或客戶調用錯誤。
如果在嘗試調用客戶目標服務時 HTTP 連線失敗,就可能會發生管線內部錯誤。或者,如果管線服務本身的可用性暫時下降,也可能會發生錯誤。
如果管線上沒有足夠的權限來調用目標,就可能會發生客戶調用錯誤。或者,如果同步調用的客戶 AWS Lambda、AWS Step Functions、API 目的地或 Amazon API Gateway 端點中存在邏輯錯誤,就可能會發生錯誤。如需詳細資訊,請參閱權限。
EventBridge Pipes 不支援從不同帳戶跨帳戶處理 Amazon MQ Broker。如需詳細資訊,請參閱 Amazon EventBridge Pipes 錯誤處理和疑難排解。
相關資訊
建立 Amazon EventBridge 管線