我试图从s3-gcs传输文件。
我没有拥有s3存储桶并且提供了密钥。
我编辑了我的boto并输入了密钥&访问id,但我的gsutil cp命令返回了拒绝访问错误。我可以使用各种免费的s3浏览器实用程序浏览/ dl这些文件。
主人可能需要调整一些东西吗?
gsutil cp -r s3://origin gs://destination
Copying s3://origin
17/_SUCCESS [Content-Type=binary/octet-stream]...
Exception in thread Thread-2: B]
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/google-cloud-
sdk/platform/gsutil/gslib/daisy_chain_wrapper.py", line 196, in
PerformDownload
decryption_tuple=self.decryption_tuple)
File "/usr/lib/google-cloud-
sdk/platform/gsutil/gslib/cloud_api_delegator.py", line 276, in
GetObjectMedia
decryption_tuple=decryption_tuple)
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/boto_translation.py",
line 513, in GetObjectMedia
generation=generation)
File "/usr/lib/google-cloud-sdk/platform/gsutil/gslib/boto_translation.py",
line 1476, in _TranslateExceptionAndRaise
raise translated_exception
AccessDeniedException: AccessDeniedException: 403 AccessDenied
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message>
<RequestId>DD4EA91291B40907</RequestId>
答案 0 :(得分:2)
在SSH会话中,检查实例上激活的帐户。
$ gcloud auth list
然后尝试使用-D
或-DD
命令行选项来调试示例失败的原因。您可以尝试使用顶级gsutil
标记运行-D
。
1)从S3复制到本地磁盘
gsutil -D cp -r s3://secret-bucket/some_key/ /local/directory/my-s3-files/
2)从本地磁盘复制到GCS存储桶
gsutil -D cp -r /local/directory/my-s3-files/ gs://secret-elsewhere/destination/
您可以查看Storage Transfer Service文章,了解如何将数据传输到云端存储。
我们必须确保GCP或S3中的权限错误。此外,您可以查看这些文章以获取更多信息:
https://github.com/GoogleCloudPlatform/gsutil/issues/487 https://cloud.google.com/storage/docs/gsutil/commands/cp