开始流程执行
要运行流程执行,请使用适用于 Amazon Bedrock 的代理运行时终端节点发送StartFlowExecution请求。在请求中,指定要运行的流程的流程 ID 和流程别名 ID。您也可以指定:
{
"inputs": [{
"nodeName": "FlowInputNode",
"nodeOutputName": "document",
"content": {
"document": "Test"
}
}],
"name": "MyExecution"
}
响应是流程执行的亚马逊资源名称 (ARN)。您可以使用轮询流程的当前状态,例如流程执行完成或条件节点评估其条件的时间。executionArn
{
"executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution"
}
跟踪流程执行的进度
使用GetFlowExecution操作获取您通过执行 ARN 标识的流程的当前状态。流程状态为Running
、Succeeded
、Failed
TimedOut
、或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"
}
errors
数组中会返回错误(例如超时的 Lambda 节点),如下例所示:
"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。