Amazon EventBridge 管道目標 - Amazon EventBridge

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

Amazon EventBridge 管道目標

您可以將管道中的資料傳送至特定目標。在中設定管時,您可以設定下列目標 EventBridge:

目標參數

某些目標服務不會將事件有效負載傳送至目標,而是將事件視為叫用特定 API 的觸發器。 EventBridge 使用PipeTargetParameters來指定要傳送至該 API 的資訊。這些索引標籤包括以下項目:

注意

EventBridge 不支持所有 JSON 路徑語法,並在運行時對其進行評估。支援的語法包括:

  • 點符號 (例如 $.detail)

  • 破折號

  • 底線

  • 英數字元

  • 陣列索引

  • 萬用字元 (*)

動態路徑參數

EventBridge 管道目標參數支援選用的動態 JSON 路徑語法。此語法可讓您指定 JSON 路徑,而非靜態值 (例如 $.detail.state)。整個值必須是 JSON 路徑,而不僅僅是其中的一部分。例如,RedshiftParameters.Sql 可以是 $.detail.state 但不能是 "SELECT * FROM $.detail.state"。這些路徑會在執行期以指定路徑中的事件裝載本身的資料動態取代。動態路徑參數無法參考輸入轉換所產生的新值或轉換值。動態參數 JSON 路徑支援的語法與轉換輸入時相同。如需詳細資訊,請參閱 Amazon EventBridge 管道輸入轉換

動態語法可用於所有 P EventBridge ipes 豐富和目標參數的所有字符串,非枚舉字段,除外:

例如,若要將管道 Kinesis 目標PartitionKey的設定為來源事件中的自訂金鑰,請設定KinesisTargetParameter. PartitionKey至:

  • "$.data.someKey" 針對 Kinesis 來源

  • "$.body.someKey" 針對 Amazon SQS 來源

然後,如果事件裝載是有效的 JSON 字串,例如{"someKey":"someValue"},從 JSON 路徑 EventBridge 擷取值,並將其用作目標參數。在此範例中, EventBridge 會將 Kinesis 動設定PartitionKey為「某些值」。

許可

若要對您擁有的資源進行 API 呼叫,P EventBridge ipes 需要適當的權限。 EventBridge Pipes 會使用您在管道上指定的 IAM 角色來進行擴充,並使用 IAM 主體pipes.amazonaws.com鎖定呼叫。

調用目標

EventBridge 有以下方法可以調用目標:

  • 同步 (呼叫類型設定為REQUEST_RESPONSE) — 在繼續之前 EventBridge 等待來自目標的回應。

  • 異步(調用類型設置為FIRE_AND_FORGET)-在繼續之前 EventBridge 不會等待響應。

依預設,對於具有排序來源的管道,會同步 EventBridge 呼叫目標,因為在繼續下一個事件之前需要來自目標的回應。

如果來源未強制執行訂單 (例如標準 Amazon SQS 佇列) EventBridge 可以同步或非同步呼叫支援的目標。

使用 Lambda 函數和 Step Functions 狀態機器,您可以設定調用類型。

注意

對於 Step Functions 狀態機器,必須以非同步方式調用標準工作流程