从存储桶复制 GCP 文件失败,无法访问元数据服务

Posted

技术标签:

【中文标题】从存储桶复制 GCP 文件失败,无法访问元数据服务【英文标题】:GCP file copy from bucket fails with could not reach metadata service 【发布时间】:2018-11-21 15:18:48 【问题描述】:

问题 - 使用 gsutil 命令从 GCP 实例公开访问的谷歌存储桶下载文件时,我们收到以下错误

root@open***:~# gsutil cp gs://google-artifacts-1/open***/open***-install.sh /tmp/open***-install.sh 失败:无法访问元数据服务:未找到。

【问题讨论】:

在启用调试输出的情况下重新运行命令可能会有所帮助:gsutil -D cp gs://... 【参考方案1】:

如果您在实例上运行 gcloud/gsutil 命令,并收到类似

的错误

Failure: Could not reach metadata service: Not Found.

在实例详情页面的“云 API 访问范围”部分检查实例范围。在那里,应该启用您在实例内部访问的服务,并且实例服务帐户应该有权访问该服务。

【讨论】:

【参考方案2】:

截至目前,当您尚未进行身份验证时会出现该错误,它无法准确描述问题所在。在尝试 cp 之前,请确保您已发出“gcloud auth login”。

如果这不能解决问题,请尝试“gsutil -D cp gs://google-artifacts-1/open***/open***-install.sh /tmp/open***-install.sh”,它是相同的命令和你一样,但使用 -D 标志记录 here。这将显示调试信息。

干杯,

米格尔。

【讨论】:

以上是关于从存储桶复制 GCP 文件失败,无法访问元数据服务的主要内容,如果未能解决你的问题,请参考以下文章

GCP 存储 - 如何创建一个脚本,将所有文件/文件夹从一个存储桶复制到另一个存储桶,但文件夹结构不同

不使用 gcloud 实用程序从 docker 容器访问 GCP 云存储桶

从 GCP 计算实例复制到存储桶时出现 AccessDeniendException

如何仅将目录下许多子目录中的文件复制到 GCP 中的另一个项目存储桶中?

如何从 GCP 存储桶中读取 Apache Beam 中的多个文件

无法在GCP存储中创建MySQL数据库备份