本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EventBridge 管道目標
您可以將管道中的資料傳送至特定目標。在中設定管時,您可以設定下列目標 EventBridge:
-
相同帳戶和地區中的事件匯流排
-
Firehose 交付串流
-
Inspector 評估範本
-
Kinesis 串流
-
Redshift 群集數據API查詢
-
SageMaker 管道
-
Amazon SNS FIFO 主SNS題(不支持主題)
-
Amazon SQS 隊列
-
-
快速工作流程 (SYNC或ASYNC)
-
標準工作流程 (ASYNC)
-
目標參數
某些目標服務不會將事件裝載傳送至目標,而是將事件視為叫用特定API事件的觸發程序。 EventBridge 使用來指定PipeTargetParameters
要傳送給該資訊的資訊API。這些索引標籤包括以下項目:
-
API目的地 (傳送至API目的地的資料必須符合的結構API。 您必須使用
InputTemplate
物件來確保資料結構正確。 如果您想要包含原始事件裝載,請在中參考它InputTemplate
。) -
API閘道 (傳送至API閘道的資料必須符合API. 您必須使用
InputTemplate
物件來確保資料結構正確。 如果您想要包含原始事件裝載,請在中參考它InputTemplate
。) -
PipeTargetRedshiftDataParameters
(Amazon Redshift 資料API叢集) -
PipeTargetSageMakerPipelineParameters
(Amazon SageMaker 運行時模型構建管道) -
PipeTargetBatchJobParameters
(AWS Batch)
注意
EventBridge 不支持所有 JSON Path 語法並在運行時對其進行評估。支援的語法包括:
點符號 (例如
$.detail
)破折號
底線
英數字元
陣列索引
萬用字元 (*)
動態路徑參數
EventBridge 管道目標參數支援選用的動態JSON路徑語法。您可以使用此語法來指定JSON路徑,而不是靜態值 (例如$.detail.state
)。整個值必須是JSON路徑,而不僅是其中的一部分。例如,RedshiftParameters.Sql
可以是 $.detail.state
但不能是 "SELECT * FROM $.detail.state"
。這些路徑會在執行期以指定路徑中的事件裝載本身的資料動態取代。動態路徑參數無法參考輸入轉換所產生的新值或轉換值。動態參數JSON路徑支援的語法與轉換輸入時的語法相同。如需詳細資訊,請參閱 Amazon EventBridge Pipes 輸入轉換。
動態語法可用於所有 P EventBridge ipes 豐富和目標參數的所有字符串,非枚舉字段,除外:
例如,若要將管道 Kinesis 目標設定為來源事件中PartitionKey
的自訂金鑰,請設定KinesisTargetParameter. PartitionKey至:
-
"$.data.
針對 Kinesis 來源someKey
" -
"$.body.
對於 Amazon SQS 來源someKey
"
然後,如果事件裝載是有效的JSON字串,例如{"
,會從JSON路徑 EventBridge 擷取值,並將其用作目標參數。在此範例中, EventBridge 會將 Kinesis 設定someKey
":"someValue
"}PartitionKey
為」someValue
".
許可
若要對您擁有的資源進行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 狀態機器,必須以非同步方式調用標準工作流程。
AWS Batch 工作佇列目標細節
所有 AWS Batch submitJob
參數都使用明確配置BatchParameters
,並且與所有 Pipe 參數一樣,這些參數可以使用傳入事件有效負載的JSON路徑進行動態配置。
CloudWatch 記錄群組目標細節
無論您是否使用輸入轉換器,事件裝載都會用作日誌訊息。您可以在 PipeTarget
中通過 CloudWatchLogsParameters
設定 Timestamp
(或明確 LogStreamName
的目的地)。與所有管道參數一樣,當使用傳入事件裝載的JSON路徑時,這些參數可以是動態的。
Amazon ECS 任務目標細節
所有 Amazon ECS runTask
參數都是透過明確設定的EcsParameters
。與所有管道參數一樣,當使用傳入事件裝載的JSON路徑時,這些參數可以是動態的。
Lambda 函數和 Step Functions 工作流程目標細節
Lambda 和 Step Functions 沒有批次API。若要處理來自管道來源的批次事件,批次會轉換為JSON陣列,並作為輸入傳遞至 Lambda 或 Step Functions 數目標。如需詳細資訊,請參閱 Amazon EventBridge 管道批處理和並發。
Timestream LiveAnalytics 表格目標細節
將 LiveAnalytics 表格指定 Timestream 為管目標時的考量事項包括:
-
Apache Kafka 串流 (包括來自Amazon MSK 或第三方供應商) 目前不支援做為管道來源。
-
如果您已指定 Kinesis 或 DynamoDB 串流作為管路來源,則必須指定重試嘗試次數。
如需更多詳細資訊,請參閱 規劃管道設定。