Algunos productos y funciones están en proceso de cambiar de nombre. Las funciones de flujo y de la guía generativa también se migrarán a una sola consola consolidada. Consulta los detalles.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Algunos métodos de la API de Conversational Agents (Dialogflow CX) muestran una operación de larga duración.
Estos métodos son asíncronos, y es posible que la operación no se complete cuando el método muestra una respuesta.
Puedes verificar el estado, esperar a que se completen o cancelar las operaciones.
Espera a que se complete una operación
A continuación, se muestra cómo esperar a que se complete una operación.
REST
Para sondear el estado de una operación, llama al método get para el recurso Operations.
Cuando se completa la operación, el campo done se establece como verdadero.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
importcom.google.api.gax.longrunning.OperationFuture;importcom.google.cloud.dialogflow.cx.v3.AgentName;importcom.google.cloud.dialogflow.cx.v3.AgentsClient;importcom.google.cloud.dialogflow.cx.v3.AgentsSettings;importcom.google.cloud.dialogflow.cx.v3.ExportAgentRequest;importcom.google.cloud.dialogflow.cx.v3.ExportAgentResponse;importcom.google.protobuf.Struct;importjava.io.IOException;importjava.util.concurrent.ExecutionException;publicclassExportAgent{publicstaticvoidmain(String[]args)throwsIOException,InterruptedException,ExecutionException{// TODO(developer): Replace these variables before running the sample.StringprojectId="my-project-id";StringagentId="my-agent-id";Stringlocation="my-location";exportAgent(projectId,agentId,location);}publicstaticvoidexportAgent(StringprojectId,StringagentId,Stringlocation)throwsIOException,InterruptedException,ExecutionException{// Sets the api endpoint to specified locationStringapiEndpoint=String.format("%s-dialogflow.googleapis.com:443",location);AgentsSettingsagentsSettings=AgentsSettings.newBuilder().setEndpoint(apiEndpoint).build();// Note: close() needs to be called on the AgentsClient object to clean up resources// such as threads. In the example below, try-with-resources is used,// which automatically calls close().try(AgentsClientagentsClient=AgentsClient.create(agentsSettings)){ExportAgentRequestrequest=ExportAgentRequest.newBuilder().setName(AgentName.of(projectId,location,agentId).toString()).build();// Returns a future of the operationOperationFuture<ExportAgentResponse,Struct>future=agentsClient.exportAgentOperationCallable().futureCall(request);// get the export agent response after the operation is completedExportAgentResponseresponse=future.get();System.out.println(response);}}}
const{AgentsClient,protos}=require('@google-cloud/dialogflow-cx');constapi_endpoint=`${location}-dialogflow.googleapis.com`;constclient=newAgentsClient({apiEndpoint:api_endpoint});constexportAgentRequest=newprotos.google.cloud.dialogflow.cx.v3.ExportAgentRequest();exportAgentRequest.name=`projects/${projectId}/locations/${location}/agents/${agentId}`;// exportAgent call returns a promise to a long running operationconst[operation]=awaitclient.exportAgent(exportAgentRequest);// Waiting for the long running opporation to finishconst[response]=awaitoperation.promise();// Prints the result of the operation when the operation is doneconsole.log(response);
fromgoogle.cloud.dialogflowcx_v3.services.agents.clientimportAgentsClientfromgoogle.cloud.dialogflowcx_v3.types.agentimportExportAgentRequestdefexport_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 operationoperation=agents_client.export_agent(request=export_request)# Returns the result of the operation when the operation is donereturnoperation.result()
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-04-14 (UTC)"],[[["Some Dialogflow CX API methods involve long-running operations that are asynchronous and may not be immediately completed upon method return."],["You can monitor the status of these operations by using the `get` method on the `Operations` resource, where the `done` field indicates completion."],["When checking multiple operations, consider implementing rate limiting or use the `list` method to manage calls effectively."],["To wait for an operation to complete, utilize the `get` method (REST), `future.get()` (Java), `operation.promise()` (Node.js), or `operation.result()` (Python), depending on the language being used."],["The code examples in REST, Java, Node.js and Python illustrate how to make requests to the API and how to handle long-running operations."]]],[]]