长时间运行的操作
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Dialogflow API 的某些方法会返回长时间运行的操作。这些方法是异步执行的,当方法返回响应时,操作可能尚未完成。您可以查看状态或取消操作。
获取操作状态
下文介绍了如何轮询操作的状态。
如果您有许多操作需要检查,则应对调用进行速率限制或改用 list 方法。
REST
对 Operations
类型调用 get
方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 GCP 项目 ID
- OPERATION_ID:您的操作 ID
- API_VERSION:
v2
或 v2beta1
HTTP 方法和网址:
GET https://dialogflow.googleapis.com/API_VERSION/projects/my-gcp-project/operations/OPERATION_ID
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
"https://dialogflow.googleapis.com/API_VERSION/projects/my-gcp-project/operations/OPERATION_ID"
PowerShell (Windows)
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://dialogflow.googleapis.com/API_VERSION/projects/my-gcp-project/operations/OPERATION_ID" | Select-Object -Expand Content
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/PROJECT_ID/operations/some-operation-name-OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.dialogflow.API_VERSION.SomeOperationType",
"state": "DONE"
},
"done": true,
...
}
操作完成后,系统会返回 state
值 SUCCESSFUL
。
列出和取消操作
除了获取特定操作之外,您还可以列出和取消操作。请参阅 Operations
类型的 list
和 cancel
方法。
list
结果可能包含与当前任务无关的操作,因此请务必过滤结果。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-01-31。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-01-31。"],[],[]]