Alguns modelos do Model Studio (como os de geração de imagem e vídeo) usam invocação assíncrona devido ao longo tempo de processamento. O fluxo de trabalho típico consiste em crie uma tarefa para obter um id e, em seguida, consultar o resultado com esse id. O Model Studio oferece APIs de tarefas de uso geral para consultar resultados individuais, verificar o status de múltiplas tarefas em lote e cancele tarefas na fila.
Pré-requisitos
Você pode chamar as APIs de tarefas assíncronas via HTTP.
Antes de chamar as APIs, obtenha e configure uma chave de API e, em seguida, defina a chave de API como variável de ambiente.
Consultar o resultado de uma tarefa assíncrona
Descrição da API: Consulta o status e o resultado de uma tarefa com base no task_id.
Limite de taxa: 20 QPS por conta Alibaba Cloud (inclui todos os usuários RAM).
Endpoint da requisição
Parâmetros da requisição
Passagem de parâmetros | Campo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
Header | Authorization | String | Sim | Chave de API no formato | Bearer sk-xxx |
Path | task_id | String | Sim | id da tarefa a consultar. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
Parâmetros de resposta
Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
request_id | String | id exclusivo desta requisição. | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
output | Object |
| - |
output.task_id | String | id da tarefa consultada. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
output.task_status | String | Status da tarefa.
| Status da tarefa:
|
output.submit_time | String | Horário de envio da tarefa. | 2023-12-20 21:36:31.896 |
output.scheduled_time | String | Horário em que a tarefa foi agendada (momento de início da execução). | 2023-12-20 21:36:39.009 |
output.end_time | String | Horário de término da tarefa. | 2023-12-20 21:36:45.913 |
output.code | String | Código de erro (retornado apenas quando a tarefa falha). | - |
output.message | String | Mensagem de erro (retornada apenas quando a tarefa falha). | - |
output.task_metrics | Object | Métricas da tarefa, incluindo estatísticas de status das subtarefas. |
|
usage | Object | Informações de faturamento desta requisição (varia conforme a tarefa). |
|
Exemplo de requisição
$DASHSCOPE_API_KEY não esteja definida como variável de ambiente, substitua-a pela sua chave de API real (formato: Bearer sk-xxx).Exemplo de resposta
Consultar o status de múltiplas tarefas assíncronas
Descrição da API: Consulte múltiplas tarefas assíncronas usando diversos critérios. Verifique o status de várias tarefas em uma única requisição.
Limite de taxa: 20 QPS por conta Alibaba Cloud (inclui todos os usuários RAM).
Endpoint da requisição
Parâmetros da requisição
Passagem de parâmetros | Campo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
Header | Authorization | String | Sim | Chave de API no formato Bearer sk-xxx. | Bearer sk-xxx |
Params | task_id | String | Não | id da tarefa a consultar. Especifique um task_id para retornar apenas o status dessa tarefa ou omita-o para consultar múltiplas tarefas. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
start_time | String | Não | Horário inicial da consulta no formato | 20230420193058 representa 19:30:58 em 20 de abril de 2023. | |
end_time | String | Não | Horário final da consulta no formato | ||
model_name | String | Não | Nome do modelo. | wanx-v1 | |
status | String | Não | Status da tarefa:
| ||
page_no | Integer | Não | Número da página de resultados a retornar. Padrão: 1. | - | |
page_size | Integer | Não | Número de entradas por página. Padrão: 10. | - |
Parâmetros de resposta
| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
| request_id | String | id exclusivo desta requisição. | 7574ee8f-xxxx-xxxx-xxxx-11c33ab46e51 |
| data | Array | Lista de resultados da consulta. | |
| data[].api_key_id | String | id da chave de API. | |
| data[].caller_parent_id | String | id da conta Alibaba Cloud. | |
| data[].caller_uid | String | id da conta Alibaba Cloud. | |
| data[].gmt_create | Long | Horário de criação da tarefa (milissegundos desde a época Unix). | |
| data[].start_time | Long | Horário de início da tarefa, em milissegundos desde a época Unix. | |
| data[].end_time | Long | Horário de término da tarefa, em milissegundos desde a época Unix. | |
| data[].region | String | Região. Exemplo: cn-hangzhou | |
| data[].request_id | String | id da requisição de envio da tarefa. | |
| data[].status | String | Status da tarefa:
| |
| data[].task_id | String | id da tarefa. | |
| data[].user_api_unique_key | String | Chave de API exclusiva gerada a partir dos parâmetros de API do modelo no momento do envio da tarefa. | |
| data[].model_name | String | Nome do modelo. | |
| page_no | Integer | Número da página atual. | "page_no": 1 |
| page_size | Integer | Número de entradas por página. | "page_size": 10 |
| total_page | Integer | Número total de páginas. | "total_page": 4 |
| total | Integer | Número total de entradas. | "total": 39 |
| code | String | Código de erro retornado quando a chamada falha. | "code": "Throttling.RateQuota" |
| message | String | Mensagem de erro retornada quando a chamada falha. | "message": "Requests rate limit exceeded, please try again later." |
Exemplo de requisição
Exemplo de resposta
Cancele uma tarefa assíncrona
Descrição da API: Cancela uma tarefa assíncrona. Apenas tarefas no estado PENDING (na fila, não iniciadas) podem ser canceladas.
Limite de taxa: 20 QPS por conta Alibaba Cloud (inclui todos os usuários RAM).
Endpoint da requisição
Parâmetros da requisição
Passagem de parâmetros | Campo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
Header | Authorization | String | Sim | Chave de API no formato Bearer sk-xxx. | Bearer sk-xxx |
Path | task_id | String | Sim | id da tarefa a cancelar. | a8532587-xxxx-xxxx-xxxx-0c46b17950d1 |
Parâmetros de resposta
Uma requisição de cancelamento bem-sucedida retorna o id da requisição como uma string JSON simples no corpo da resposta. Não há campos de objeto JSON na resposta de sucesso.
Para respostas de erro, os seguintes campos são retornados:
Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
code | String | Código de erro retornado quando a chamada falha. |
|
message | String | Mensagem de erro retornada quando a chamada falha. |
|
Exemplo de requisição
Exemplo de resposta
Códigos de erro
Código de status HTTP | Código de erro | Mensagem de erro | Descrição |
|---|---|---|---|
400 | UnsupportedOperation | Failed to cancel the task. Confirme that the task is in PENDING status. | Falha ao cancelar a tarefa. Apenas tarefas no estado |