node.js - 获取 Google Cloud 转移作业的状态
问题描述
我正在使用谷歌云传输 api 的 node.js 实用程序将数据从 s3 存储桶传输到我的谷歌云存储桶,使用
#1
storagetransfer.transferJobs.create(request, function (err, response)
一旦完成,我想继续使用一些功能。要检查传输作业的状态,有一个 api
#2
storagetransfer.transferOperations.get(request, function(err, response)
这需要
var request = {
// The name of the operation resource.
name: 'transferOperations/my-transfer-operation',
auth: authClient,
};
作为参数。我似乎找不到需要输入的值来代替“我的转移操作”
从“storagetransfer.transferJobs.create”收到的响应具有 {name: 'transferJobs/2469904309496821948'} 的数据对象,但该值不适用于“my-transfer-operation”值。
我需要获取“my-transfer-operation”的值,它可以用作使用#2 api 获取我的传输作业状态的参数。
来源:https ://cloud.google.com/storage-transfer/docs/reference/rest/v1/transferOperations/get
解决方案
你可以使用transferOperations.list
,你可以在这里测试,把请求name : 'transferOperations'
和filter : "{"project_id" : "<your-project-id>"}"
.
响应将包含一系列操作,其结构开始于
{
"operations": [
{
"name": "transferOperations/transferJobs-<id-from-transferJobName>-<another-id>",
"metadata": {
...
"status": "<some-status>", //e.g. IN_PROGRESS
...
},
...
包含您尝试使用的 id 的长名称是您需要输入到 transferOperations.get 的内容。如您所见,您还可以直接从该响应中获取状态。
推荐阅读
- typescript - 将 const 导出为超类型
- ruby-on-rails - 安装 rails 时出错:找不到“ruby/config.h”文件(Catalina 10.15.7)
- video - 达芬奇解析找不到任何支持 openCL 的 GPU
- c# - C# LINQ - 仅当它不为空时才包含 Where 条件
- jquery - 嵌入式表单在 Episerver 内容块中不起作用
- while-loop - Julia 1.5.3 中的 while 循环
- android - 谷歌的数字资产链接文件缓存机制可以被操纵吗?
- c# - 将多个短语匹配到 Elastic Search 中的一个字段
- python - Leetcode:将二进制搜索树转换为排序的双向链表
- haskell - 找不到模块“Data.Primitive.Ptr”