본문 바로가기
WIKI 기술 지식 베이스

Provision Workflow API

원문 보기 위키 갱신

출처: 문서

본문

Provision Workflow API

워크플로를 프로비전하는 것은 일반적으로 클러스터 관리자가 최종 사용자가 사용할 리소스를 생성하기 위해 수행하는 일회성 설정 과정이에요.

workflows 템플릿 필드에는 여러 워크플로가 포함될 수 있어요. provision 키가 있는 워크플로는 이 API로 실행할 수 있어요. 이 API는 Create or Update Workflow API가 provision 매개변수를 true로 설정하여 호출될 때도 실행돼요.

아직 프로비전되지 않은 워크플로만 프로비전할 수 있어요. 프로비전을 반복해야 하는 경우 워크플로를 디프로비전하세요. {: .note}

엔드포인트

POST /_plugins/_flow_framework/workflow/{workflow_id}/_provision

경로 매개변수

다음 표는 사용 가능한 경로 매개변수를 나열해요.

Parameter Data type Description
workflow_id String 프로비전할 워크플로의 ID예요. 필수예요.

쿼리 매개변수

템플릿에 대체 표현식을 포함한 경우, 이를 쿼리 매개변수 또는 요청 본문 필드의 문자열 값으로 전달할 수 있어요. 예를 들어, 템플릿에 자격 증명 필드를 {% raw %}openAI_key: '${{ openai_key }}'{% endraw %}로 지정했다면, 프로비전 중에 대체될 수 있도록 openai_key 매개변수를 쿼리 매개변수 또는 본문 필드로 포함할 수 있어요. 예를 들어, 다음 요청은 쿼리 매개변수를 제공해요:

POST /_plugins/_flow_framework/workflow/{workflow_id}/_provision?{parameter}={value}
Parameter Data type Description
사용자 제공 대체 표현식 String 템플릿의 대체 표현식과 일치하는 매개변수예요. 선택사항이에요.
wait_for_completion_timeout TimeValue 동기 프로비전의 최대 대기 시간을 지정해요. 시간 제한을 초과하면 실행이 비동기적으로 계속되는 동안 요청은 현재 워크플로 상태를 반환해요.

요청 예시

POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision

{% include copy-curl.html %}

다음 요청은 완료를 위해 최대 2초를 기다리며 동기 프로비전 호출을 수행해요:

POST /_plugins/_flow_framework/workflow/{workflow_id}/_provision?wait_for_completion_timeout=2s

{% include copy-curl.html %}

다음 요청은 쿼리 매개변수를 사용하여 표현식 {% raw %}${{ openai_key }}{% endraw %}을(를) 값 "12345"로 대체해요:

POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision?openai_key=12345

{% include copy-curl.html %}

다음 요청은 요청 본문을 사용하여 표현식 {% raw %}${{ openai_key }}{% endraw %}을(를) 값 "12345"로 대체해요:

POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision
{
  "openai_key" : "12345"
}

{% include copy-curl.html %}

응답 예시

OpenSearch는 요청에 사용된 것과 동일한 workflow_id로 응답해요:

{
  "workflow_id" : "8xL8bowB8y25Tqfenm50"
}

프로비전 상태를 확인하려면 Get Workflow State API를 호출하세요.

wait_for_completion_timeout이 활성화된 응답 예시

{
    "workflow_id": "K13IR5QBEpCfUu_-AQdU",
    "state": "COMPLETED",
    "resources_created": [
        {
            "workflow_step_name": "create_connector",
            "workflow_step_id": "create_connector_1",
            "resource_id": "LF3IR5QBEpCfUu_-Awd_",
            "resource_type": "connector_id"
        },
        {
            "workflow_step_id": "register_model_2",
            "workflow_step_name": "register_remote_model",
            "resource_id": "L13IR5QBEpCfUu_-BQdI",
            "resource_type": "model_id"
        },
        {
            "workflow_step_name": "deploy_model",
            "workflow_step_id": "deploy_model_3",
            "resource_id": "L13IR5QBEpCfUu_-BQdI",
            "resource_type": "model_id"
        }
    ]
}

더 알아보기 (Learn more)