選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 Step Functions 新增 EventBridge 事件

焦點模式
使用 Step Functions 新增 EventBridge 事件 - AWS Step Functions

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

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

Step Functions 提供與 Amazon EventBridge 整合的服務整合 API。了解如何直接從 Step Functions 工作流程傳送自訂事件,來建置事件驅動型應用程式。

若要了解如何在 Step Functions 中整合 AWS 服務,請參閱 整合 服務在 Step Functions 中將參數傳遞至服務 API

Optimized EventBridge 整合的主要功能
  • 執行 ARN 和狀態機器 ARN 會自動附加到每個 Resources的欄位PutEventsRequestEntry

  • 如果 的回應PutEvents包含非零FailedEntryCount,則 Task 狀態會失敗並顯示錯誤 EventBridge.FailedEntry

若要使用 PutEvents API,您需要在帳戶中建立符合您將傳送之事件特定模式的 EventBridge 規則。例如,您可以:

  • 在您的帳戶中建立 Lambda 函數,該函數會接收並列印符合 EventBridge 規則的事件。

  • 在預設事件匯流排上,在您的帳戶中建立 EventBridge 規則,該匯流排符合特定事件模式並鎖定 Lambda 函數。

如需詳細資訊,請參閱:

下列包含傳送自訂事件Task的 :

{ "Type": "Task", "Resource": "arn:aws:states:::events:putEvents", "Parameters": { "Entries": [ { "Detail": { "Message": "MyMessage" }, "DetailType": "MyDetailType", "EventBusName": "MyEventBus", "Source": "my.source" } ] }, "End": true }
注意

Step Functions 中任務的最大輸入或結果資料大小有配額。當您向另一個 服務傳送或接收資料時,這會限制您將 256 KiB 的資料做為 UTF-8 編碼字串。請參閱 狀態機器執行的相關配額

最佳化 EventBridge API

支援的 EventBridge API 和語法包括:

錯誤處理

PutEvents API 接受輸入項目的陣列,然後傳回結果項目的陣列。只要PutEvents動作成功, PutEvents就會傳回 HTTP 200 回應,即使一或多個項目失敗。 會PutEvents傳回 FailedEntryCount 欄位中失敗的項目數。

Step Functions 會檢查 FailedEntryCount 是否大於零。如果大於零,Step Functions 會失敗狀態並顯示錯誤 EventBridge.FailedEntry。這可讓您在任務狀態上使用 Step Functions 的內建錯誤處理,在項目失敗時擷取或重試,而不需要使用其他狀態FailedEntryCount來分析回應中的 。

注意

如果您已實作等冪,並可以安全地對所有項目重試,您可以使用 Step Functions 的重試邏輯。Step Functions 不會在重試之前從PutEvents輸入陣列移除成功的項目。反之,它會使用原始項目陣列重試。

呼叫 EventBridge 的 IAM 政策

下列範例範本顯示 如何根據您狀態機器定義中的資源 AWS Step Functions 產生 IAM 政策。如需詳細資訊,請參閱 Step Functions 如何為整合服務產生 IAM 政策探索 Step Functions 中的服務整合模式

PutEvents

靜態資源

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "events:PutEvents" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:event-bus/stepfunctions-sampleproject-eventbus" ], "Effect": "Allow" } ] }

動態資源

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "events:PutEvents" ], "Resource": "arn:aws:events:*:*:event-bus/*" } ] }

在本頁面

下一個主題:

AWS Glue

上一個主題:

Amazon EMR Serverless
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。