GCP中无法将Cloud Storage的Shell脚本复制至容器求助
解决gsutil复制Cloud Storage文件时的"No URLs matched"报错
核心问题定位
执行gsutil -m cp gs://test.sh /tmp/test.sh报错CommandException: No URLs matched: gs://test.sh,本质是对象路径格式错误:gs://test.sh会被解析为「名为test.sh的存储桶」,但你实际要访问的是某个存储桶里的test.sh文件,正确路径格式应为gs://[你的存储桶名称]/test.sh。
解决步骤
修正对象路径
替换命令中的路径为完整的存储桶+对象路径,比如你的存储桶名为my-test-bucket,则命令应为:gsutil -m cp gs://my-test-bucket/test.sh /tmp/test.sh额外排查点(如果修正路径后仍报错)
- 确认存储桶和对象存在:执行
gsutil ls gs://my-test-bucket/test.sh验证对象是否存在 - 检查容器内的权限:确保容器关联的服务账号具有
storage.objects.get权限(可通过赋予roles/storage.objectViewer角色实现) - 验证gsutil配置:容器内的gsutil是否已正确授权,可执行
gcloud auth list查看当前授权账号
- 确认存储桶和对象存在:执行
内容的提问来源于stack exchange,提问作者srikanth
相关产品推荐
相关产品推荐

