如何获取导出云数据存储的结果详细信息



我有一个应用程序,它将用户数据存储在GCP数据存储中。我制作了一个cron作业,计划使用此处给出的说明导出数据存储中的数据。

现在,当这项工作失败时,我想得到结果和完成时间。(不是cron,而是由cron移动的作业(

如何获取导出云数据存储的结果详细信息

计划的数据存储导出(和导入(可以是长时间运行的操作,因此它们支持异步执行和进度监控。

基本上,当你启动操作时,你会得到一个操作id:

例如,当您启动导出时,云数据存储服务创建一个长期运行的操作来跟踪导出状态。这是导出开始时的输出:

{
"name": "projects/[YOUR_PROJECT_ID]/operations/ASAyMDAwOTEzBxp0bHVhZmVkBxJsYXJ0bmVjc3Utc2Jvai1uaW1kYRQKKhI",
"metadata": {
"@type": "type.googleapis.com/google.datastore.admin.v1.ExportEntitiesMetadata",
"common": {
"startTime": "2017-05-25T23:54:39.583780Z",
"operationType": "EXPORT_ENTITIES"
},
"progressEntities": {},
"progressBytes": {},
"entityFilter": {
"namespaceIds": [
""
]
},
"outputUrlPrefix": "gs://[YOUR_BUCKET_NAME]"
}
}

name字段的值是长时间运行的操作的ID。

然后,您可以在操作管理API中使用带有projects.operations.get的操作ID来获取其完成时间和结果URL:

此示例输出显示最近完成的导出操作。操作可在完成后几天内访问:

{
"operations": [
{
"name": "projects/[YOUR_PROJECT_ID]/operations/ASAyMDAwOTEzBxp0bHVhZmVkBxJsYXJ0bmVjc3Utc2Jvai1uaW1kYRQKKhI",
"metadata": {
"@type": "type.googleapis.com/google.datastore.admin.v1.ExportEntitiesMetadata",
"common": {
"startTime": "2017-12-05T23:01:39.583780Z",
"endTime": "2017-12-05T23:54:58.474750Z",
"operationType": "EXPORT_ENTITIES"
},
"progressEntities": {
"workCompleted": "21933027",
"workEstimated": "21898182"
},
"progressBytes": {
"workCompleted": "12421451292",
"workEstimated": "9759724245"
},
"entityFilter": {
"namespaceIds": [
""
]
},
"outputUrlPrefix": "gs://[YOUR_BUCKET_NAME]"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.datastore.admin.v1.ExportEntitiesResponse",
"outputUrl": "gs://[YOUR_BUCKET_NAME]/2017-05-25T23:54:39_76544/2017-05-25T23:54:39_76544.overall_export_metadata"
}
}
]
}

我不完全确定如何区分失败的作业,不过,我想response字段中会显示不同的内容。

最新更新