Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Alguns métodos da API Dialogflow retornam uma operação de longa duração.
Esses métodos são assíncronos e a operação pode não ser concluída quando o método retornar uma resposta.
Você pode verificar o status, aguardar a conclusão ou cancelar operações.
Aguardar a conclusão de uma operação
Veja a seguir como aguardar a conclusão de uma operação.
REST
Para pesquisar o status de uma operação, chame o método get para o
Operations
recurso.
Quando a operação for concluída,
o campo done está definido como verdadeiro.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
const {AgentsClient, protos} = require('@google-cloud/dialogflow-cx');
const api_endpoint = `${location}-dialogflow.googleapis.com`;
const client = new AgentsClient({apiEndpoint: api_endpoint});
const exportAgentRequest =
new protos.google.cloud.dialogflow.cx.v3.ExportAgentRequest();
exportAgentRequest.name = `projects/${projectId}/locations/${location}/agents/${agentId}`;
// exportAgent call returns a promise to a long running operation
const [operation] = await client.exportAgent(exportAgentRequest);
// Waiting for the long running opporation to finish
const [response] = await operation.promise();
// Prints the result of the operation when the operation is done
console.log(response);
from google.cloud.dialogflowcx_v3.services.agents.client import AgentsClient
from google.cloud.dialogflowcx_v3.types.agent import ExportAgentRequest
def export_long_running_agent(project_id, agent_id, location):
api_endpoint = f"{location}-dialogflow.googleapis.com:443"
client_options = {"api_endpoint": api_endpoint}
agents_client = AgentsClient(client_options=client_options)
export_request = ExportAgentRequest()
export_request.name = (
f"projects/{project_id}/locations/{location}/agents/{agent_id}"
)
# export_agent returns a long running operation
operation = agents_client.export_agent(request=export_request)
# Returns the result of the operation when the operation is done
return operation.result()