获取Google Cloud Transfer Job的状态

时间:2019-04-11 07:41:39

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

我正在使用Google Cloud Transfer API的node.js实用工具使用

将数据从s3存储桶传输到我的Google Cloud存储桶
#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,
  };

作为参数。 我似乎找不到“ my-transfer-operation”需要输入的值

从“ 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

1 个答案:

答案 0 :(得分:0)

您可以使用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的内容。如您所见,您还可以直接从该响应中获取状态。