GCP快照创建API失败是通过C++代码,但不是通过邮递员



我一直试图通过代码调用API来创建GCP磁盘的快照,但它一直给我这个错误:

Failed to check snapshot status before creating GCPDisk swift-snapshot-gkeos-dkdwl-dynamic-pvc-1b13097f-7-1630579922. HTTP Error: GET request to the remote host failed [HTTP-Code: 404]: {
"error": {
"code": 404,
"message": "The resource 'projects/rw-migration-dev/global/snapshots/swift-snapshot-gkeos-dkdwl-dynamic-pvc-1b13097f-7-1630579922' was not found",
"errors": [
{
"message": "The resource 'projects/rw-migration-dev/global/snapshots/swift-snapshot-gkeos-dkdwl-dynamic-pvc-1b13097f-7-1630579922' was not found",
"domain": "global",
"reason": "notFound"
}
]
}
}

我的程序在相当长的一段时间内运行良好,但现在有时会出现错误。我试着通过邮递员传递同样的查询,结果很好。有时它能很好地通过。

主要问题在于快照创建API,https://compute.googleapis.com/compute/v1/projects/{projectName}/区域/{diskLocation}/磁盘/{diskName}/createSnapshot

这个URL在邮递员上运行良好,创建后,当您列出快照时,您可以看到它们,但通过代码,一旦调用这个API,它将返回OK 200,但没有创建快照

有人能告诉我为什么会发生这种事吗?

我认为您正在尝试使用此操作:

https://cloud.google.com/compute/docs/reference/rest/v1/disks/createSnapshot

这是一个长时间运行的操作,200响应表示快照操作已启动,但它确实表示它已完成

文件指向:

https://cloud.google.com/compute/docs/api/how-tos/api-requests-responses#handling_api_responses

在尝试使用快照之前,您可能需要轮询操作,直到操作完成。

相关内容

最新更新