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"
}
]
}