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