opensearch-docs-cn/_automating-configurations/api/get-workflow-status.md

114 lines
3.0 KiB
Markdown

---
layout: default
title: Get a workflow status
parent: Workflow APIs
nav_order: 40
---
# Get a workflow status
This is an experimental feature and is not recommended for use in a production environment. For updates on the progress of the feature or if you want to leave feedback, see the associated [GitHub issue](https://github.com/opensearch-project/flow-framework/issues/475).
{: .warning}
[Provisioning a workflow]({{site.url}}{{site.baseurl}}/automating-configurations/api/provision-workflow/) may take a significant amount of time, particularly when the action is associated with OpenSearch indexing operations. The Get Workflow State API permits monitoring of the provisioning deployment status until it is complete.
## Path and HTTP methods
```json
GET /_plugins/_flow_framework/workflow/<workflow_id>/_status
```
## Path parameters
The following table lists the available path parameters.
| Parameter | Data type | Description |
| :--- | :--- | :--- |
| `workflow_id` | String | The ID of the workflow from which to obtain the status. Required for the `PUT` method. |
## Query parameters
The `all` parameter specifies whether the response should return all fields.
When set to `false` (the default), the response contains the following fields:
- `workflow_id`
- any `error` state
- `state`
- a list of `resources_created`
When set to `true`, the response contains the following additional fields:
- `provisioning_progress`
- `provision_start_time`
- `provision_end_time`
- `user`
- `user_outputs`
To receive all available fields in the response, set `all` to `true`:
```json
GET /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_status?all=true
```
{% include copy-curl.html %}
#### Example request
```json
GET /_plugins/_flow_framework/workflow/8xL8bowB8y25Tqfenm50/_status
```
{% include copy-curl.html %}
#### Example response
OpenSearch responds with a summary of the provisioning status and a list of created resources.
Before provisioning has begun, OpenSearch does not return any resources:
```json
{
"workflow_id" : "8xL8bowB8y25Tqfenm50",
"state": "NOT_STARTED"
}
```
While provisioning is in progress, OpenSearch returns a partial resource list:
```json
{
"workflow_id" : "8xL8bowB8y25Tqfenm50",
"state": "PROVISIONING",
"resources_created": [
{
"workflow_step_name": "create_connector",
"workflow_step_id": "create_connector_1",
"resource_type": "connector_id",
"resource_id": "NdjCQYwBLmvn802B0IwE"
}
]
}
```
Upon provisioning completion, OpenSearch returns the full resource list:
```json
{
"workflow_id" : "8xL8bowB8y25Tqfenm50",
"state": "COMPLETED",
"resources_created": [
{
"workflow_step_name": "create_connector",
"workflow_step_id": "create_connector_1",
"resource_type": "connector_id",
"resource_id": "NdjCQYwBLmvn802B0IwE"
},
{
"workflow_step_name": "register_remote_model",
"workflow_step_id": "register_model_2",
"resource_type": "model_id",
"resource_id": "N9jCQYwBLmvn802B0oyh"
}
]
}
```