啟動流程執行
若要執行流程執行,請使用 Amazon Bedrock 執行時間端點的代理程式傳送 StartFlowExecution 請求。在請求中,指定您要執行之流程的流程 ID 和流程別名 ID。您還可以指定下列項目:
{
"inputs": [{
"nodeName": "FlowInputNode",
"nodeOutputName": "document",
"content": {
"document": "Test"
}
}],
"name": "MyExecution"
}
回應是流程執行的 Amazon Resource Name (ARN)。您可以使用 executionArn
輪詢流程的目前狀態,例如流程執行完成或條件節點評估其條件時。
{
"executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution"
}
追蹤流程執行的進度
使用 GetFlowExecution 操作來取得您透過執行 ARN 識別之流程的目前狀態。流程狀態為 Running
、Succeeded
、TimedOut
、 Failed
或 Aborted
。
{
"endedAt": null,
"errors": null,
"executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution",
"flowAliasIdentifier": "TSTALIASID",
"flowIdentifier": "FLOWID",
"flowVersion": "DRAFT",
"startedAt": "2025-03-20T23:32:28.899221162Z",
"status": "Running"
}
錯誤 (例如逾時的 Lambda 節點) 會在errors
陣列中傳回,如下列範例所示:
"errors": [{
"nodeName": "LambdaNode1",
"errorType": "ExecutionTimedOut",
"message": "Call to lambda function timed out"
}],
取得流程執行的結果
Amazon Bedrock 會將流程的輸出寫入流程的輸出節點。您可以在流程完成或流程執行時取得輸出 (取決於您的使用案例)。
如果您希望流程先完成,請呼叫 ,GetFlowExecution
並確認回應中的 status
欄位值為 Succeeded
。
若要從流程執行取得輸出事件清單,請呼叫 ListFlowExecutionEvents。在回應中,檢查 中的flowOutputEvent
物件flowExecutionEvents
。例如,您可以在 content
欄位中取得流程的輸出:
{
"flowOutputEvent": {
"content": {
"document": "The model response."
},
"nodeName": "FlowOutputNode"
}
}
您可以將eventType
查詢參數設定為 ListFlowExecutions
,將來自 的輸出限制為僅輸入和輸出節點Flow
。
檢視事件
為了協助偵錯流程執行,您可以使用 ListFlowExecutionEvents 操作來檢視節點在流程執行期間產生的事件。將eventType
查詢參數設定為 Node
,以查看回應中所有節點 (包括中繼節點) 的輸入和輸出,類似下列範例:
{
"flowExecutionEvents": [{
"nodeOutputEvent": {
"fields": [{
"content": {
"document": "History book"
},
"name": "document"
}],
"nodeName": "FlowInputNode",
"timestamp": "2025-05-05T18:38:56.637867516Z"
}
},
{
"nodeInputEvent": {
"fields": [{
"content": {
"document": "History book"
},
"name": "book"
}],
"nodeName": "Prompt_1",
"timestamp": "2025-05-05T18:38:57.434600163Z"
}
},
{
"nodeOutputEvent": {
"fields": [{
"content": {
"document": "Here's a summary of the history book."
},
"name": "modelCompletion"
}],
"nodeName": "Prompt_1",
"timestamp": "2025-05-05T18:39:06.034157077Z"
}
},
{
"nodeInputEvent": {
"fields": [{
"content": {
"document": "Here's a summary of the history book."
},
"name": "document"
}],
"nodeName": "FlowOutputNode",
"timestamp": "2025-05-05T18:39:06.453128251Z"
}
}
]
}
取得流程執行的快照
當流程執行開始時,Amazon Bedrock 會自動擷取流程定義和中繼資料的快照。這很有用,因為流程可以在非同步執行時更新。若要擷取此快照,請呼叫 GetExecutionFlowSnapshot 操作。回應包含下列流程欄位:
-
customerEncryptionKeyArn – 加密流程之 AWS KMS 金鑰的 ARN。
-
定義 – 流程的定義。
-
executionRoleArn – 流程執行所使用的 IAM 服務角色 ARN。
-
flowAliasIdentifier – 流程的別名 ID。
-
flowIdentifier – 流程的 ID。
-
flowVersion – 流程的版本。
{
"customerEncryptionKeyArn": null,
"definition": "{flow-definition
}",
"executionRoleArn": "arn:aws:iam::111122223333:role/name",
"flowAliasIdentifier": "TSTALIASID",
"flowIdentifier": "FLOWID",
"flowVersion": "DRAFT"
}
列出您的流程執行
您可以呼叫 ListFlowExecutions 操作,以取得流程執行的清單。回應包含flowExecutionSummaries
陣列,其中包含有關流程或 AWS 區域 流程別名的目前 中每個流程執行的資訊。每個元素都包含執行 ARN、開始時間和流程目前狀態等資訊。
{
"flowExecutionSummaries": [{
"createdAt": "2025-03-11T23:21:02.875598966Z",
"endedAt": null,
"executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution",
"flowAliasIdentifier": "TSTALIASID",
"flowIdentifier": "FLOWID",
"flowVersion": "DRAFT",
"status": "Running"
}]
}
停止執行中的流程執行
如果您需要停止執行中的流程執行,請呼叫 StopFlowExecution 操作,並傳遞要停止之執行的流程 ID、流程別名 ID 和流程執行 ID。