配置工作流
工作流预置是一个一次性设置过程,通常由集群管理员执行,用于创建供最终用户使用的资源。
workflows
模板字段可能包含多个工作流。具有 provision
键的工作流可以使用此 API 执行。当调用 创建或更新工作流 API 并将 provision
参数设置为 true
时,也会执行此 API。
只有尚未预置的工作流才能进行预置。如果需要重复预置,请取消预置该工作流。
端点
POST /_plugins/_flow_framework/workflow/<workflow_id>/_provision
路径参数
下表列出了可用的路径参数。
参数 | 数据类型 | 描述 |
---|---|---|
workflow_id | 字符串 | 要预置的工作流的 ID。必填项。 |
查询参数
如果您在模板中包含了替换表达式,您可以将其作为查询参数或请求正文字段的字符串值传递。例如,如果您在模板中将凭据字段指定为 openAI_key: '${{ openai_key }}'
,那么您可以将 openai_key
参数作为查询参数或正文字段包含在内,以便在预置期间进行替换。例如,以下请求提供了一个查询参数
POST /_plugins/_flow_framework/workflow/<workflow_id>/_provision?<parameter>=<value>
参数 | 数据类型 | 描述 |
---|---|---|
用户提供的替换表达式 | 字符串 | 与模板中替换表达式匹配的参数。可选。 |
wait_for_completion_timeout | TimeValue | 指定同步预置的最大等待时间。如果超时,请求将返回当前工作流状态,而执行将继续异步进行。 |
示例请求
POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision
以下请求执行同步预置调用,最多等待 2 秒完成
POST /_plugins/_flow_framework/workflow/<workflow_id>/_provision?wait_for_completion_timeout=2s
以下请求使用查询参数将表达式 ${{ openai_key }}
替换为值“12345”
POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision?openai_key=12345
以下请求使用请求正文将表达式 ${{ openai_key }}
替换为值“12345”
POST /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_provision
{
"openai_key" : "12345"
}
示例响应
OpenSearch 响应与请求中使用的相同 workflow_id
{
"workflow_id" : "8xL8bowB8y25Tqfenm50"
}
要获取预置状态,请调用 获取工作流状态 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"
}
]
}