【问题标题】:Getting status of Google Cloud transfer Job获取 Google Cloud 转移作业的状态
【发布时间】:2019-04-19 23:29:11
【问题描述】:

我正在使用谷歌云传输 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

【问题讨论】:

  • 你检查过 transferJobs.get 吗?它可能是您需要的方法,而不是 transferOperations.get cloud.google.com/storage-transfer/docs/reference/rest/v1/…
  • 是的,我已经检查了 transferJobs.get ,这个 Api 返回静态状态,即启用/删除。虽然我想知道正在进行的传输状态是什么,一旦完成,然后是“完成”状态。这样一旦完成,我就可以继续使用导入的数据创建 csv。

标签: node.js google-cloud-platform google-cloud-storage


【解决方案1】:

你可以使用transferOperations.list,你可以测试here,输入请求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 的内容。如您所见,您还可以直接从该响应中获取状态。

【讨论】:

  • 是的,它起作用了,我想知道正在进行的转移操作的状态,这正是它返回的状态。谢谢!!!
猜你喜欢
  • 2018-01-06
  • 1970-01-01
  • 1970-01-01
  • 2019-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-14
  • 1970-01-01
相关资源
最近更新 更多