흐름 실행과 비동기적으로 Amazon Bedrock 흐름 실행 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

흐름 실행과 비동기적으로 Amazon Bedrock 흐름 실행

흐름 실행을 사용하면 Amazon Bedrock 흐름을 비동기적으로 실행할 수 있습니다. 이렇게 하면 흐름이 더 오래 실행되고 제어가 가능하여 애플리케이션이 다른 작업을 수행할 수 있습니다.

Amazon Bedrock 콘솔을 사용하거나 InvokeFlow 작업을 사용하여 흐름을 실행하면 흐름이 완료되거나 한 시간에 시간 초과될 때까지(둘 중 먼저 도래하는 시점) 흐름이 실행됩니다. 흐름 실행을 실행하면 흐름이 훨씬 더 오래 실행될 수 있습니다. 개별 노드는 최대 5분 동안 실행되고 전체 흐름은 최대 24시간 동안 실행될 수 있습니다.

참고

흐름 실행은 Amazon Bedrock의 미리 보기 릴리스이며 변경될 수 있습니다.

흐름 실행을 실행하는 데 필요한 권한

흐름 실행 생성 및 관리

콘솔에서 또는 StartFlowExecution 작업을 사용하여 흐름 실행을 생성할 수 있습니다.

Console
  1. 의 지침에 따라 흐름을 생성합니다Amazon Bedrock에서 흐름 생성 및 설계.

  2. 의 지침에 따라 흐름의 별칭을 생성합니다Amazon Bedrock에서 흐름의 별칭 생성.

  3. 흐름 빌더에 아직 없는 경우 다음을 수행합니다.

    1. Amazon Bedrock 권한이 있는 IAM 역할을 AWS Management Console 사용하여에 로그인하고 시작하기에서 Amazon Bedrock 콘솔을 AWS Management Console 엽니다.

    2. 왼쪽 탐색 창에서 Amazon Bedrock Flows를 선택한 다음 흐름을 선택합니다.

  4. 실행 탭을 선택한 다음 실행 생성을 선택합니다.

  5. 실행 생성 대화 상자에 다음을 입력합니다.

    1. 이름에 흐름 실행의 이름을 입력합니다.

    2. 별칭 선택에서 사용하려는 흐름의 별칭을 선택합니다.

    3. 프롬프트 입력에 흐름을 시작할 프롬프트를 입력합니다.

    4. 생성을 선택하여 흐름 실행을 생성하고 실행을 시작합니다.

  6. 흐름 세부 정보 페이지에서 실행 탭을 선택하고 실행 상태의 흐름 실행 상태를 기록해 둡니다.

  7. (선택 사항) 실행을 선택하여 흐름을 열고 실행 요약을 확인합니다.

    실행 출력에는 흐름의 출력이 표시됩니다.

  8. (선택 사항) 흐름 실행을 중지하려면 실행을 선택하고 중지를 선택합니다.

API
흐름 실행 시작

흐름 실행을 실행하려면 Agents for Amazon Bedrock 런타임 엔드포인트를 사용하여 StartFlowExecution 요청을 전송합니다. 요청에서 실행하려는 흐름의 흐름 ID와 흐름 별칭 ID를 지정합니다. 다음을 지정할 수도 있습니다.

  • input - 흐름 실행을 시작할 입력 노드가 포함된 배열입니다. content 필드의 프롬프트 흐름 입력 노드로 전송할 입력을 지정합니다.

  • name - 흐름 실행의 이름입니다.

{ "inputs": [{ "nodeName": "FlowInputNode", "nodeOutputName": "document", "content": { "document": "Test" } }], "name": "MyExecution" }

응답은 흐름 실행의 Amazon 리소스 이름(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" }

오류(예: 제한 시간이 초과된 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 작업을 사용하여 흐름이 실행되는 동안 노드가 생성하는 이벤트를 볼 수 있습니다. 다음 예제와 유사한 응답에서 모든 노드(중간 노드 포함)의 입력 및 출력을 Node 보려면 eventType 쿼리 파라미터를 로 설정합니다.

{ "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 작업을 호출하여 흐름 실행 목록을 가져올 수 있습니다. 응답에는 흐름 또는 흐름 별칭에 대한 현재의 각 흐름 실행에 AWS 리전 대한 정보가 포함된 flowExecutionSummaries 배열이 포함됩니다. 각 요소에는 실행 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를 전달합니다.

흐름 실행 상태

흐름 실행은 다음 상태 중 하나를 가질 수 있습니다.

  • 실행 중 - 흐름 실행이 진행 중입니다.

  • 성공 - 흐름 실행이 성공적으로 완료되었습니다.

  • 실패 - 오류로 인해 흐름 실행이 실패했습니다.

  • TimedOut - 흐름 실행이 최대 런타임인 24시간을 초과했습니다.

  • 중단됨 - StopFlowExecution 작업을 사용하여 흐름 실행이 수동으로 중지되었습니다.

더 이상 실행되지 않는 흐름 실행은 90일 후에 자동으로 삭제됩니다.

흐름 실행 모범 사례

흐름 실행을 사용할 때는 다음 사항을 고려하세요.

  • 흐름이 터미널 상태( 이외의 모든 상태)에 도달할 때까지 GetFlowExecution을 사용하여 흐름 실행의 상태를 정기적으로 폴링합니다Running.

  • 흐름 실행이 터미널 상태에 도달하면 ListFlowExecutionEvents를 사용하여 흐름 결과를 가져옵니다. 예를 들어 이러한 결과를 사용하여 흐름에 대한 몇 가지 로직을 구축할 수 있습니다.

  • GetExecutionFlowSnapshot을 사용하여 흐름 실행의 스냅샷을 가져오면 실행과 관련된 문제가 발생할 경우 디버깅에 도움이 됩니다.