Получение статуса Google Cloud Transfer Job - PullRequest
1 голос
/ 11 апреля 2019

Я использую утилиту node.js API Google Cloud Transfer API для передачи данных из корзины 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", которое можно использовать в качестве параметра дляполучение статуса моей переводной работы с использованием API # 2.

source: https://cloud.google.com/storage-transfer/docs/reference/rest/v1/transferOperations/get

1 Ответ

0 голосов
/ 19 апреля 2019

Вы можете использовать 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
         ...
         },
    ...

, и это длинное имя, содержащее идентификатор, который вы пытались использовать, - это то, что вам нужно ввести в файл TransferOperations.get.Вы также можете получить статус непосредственно из этого ответа, как видите.

...