首页 > 解决方案 > 如何在没有 AWS 账户的情况下访问 R 中的公共 AWS S3 对象

问题描述

我无法使用aws.s3包访问公共 S3 存储桶中的公共 .txt 文件和 .Rdata 文件。

我在AWS S3上放了一些文件,所有对象都允许公开访问,对象所在的存储桶也允许公开访问。我想向其他人展示即使他们没有 AWS 账户也可以使用这些文件。这是我尝试过的:

library(aws.s3)
# without showing more details of our data
obj <- get_object('s3://bucketname/folder1/folder2/example.txt')
char <- rawToChar(obj)
char

我得到了char以下内容(隐藏的存储桶名称、请求 ID 和主机 ID):

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>PermanentRedirect</Code><Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message><Endpoint>netzoo.s3.amazonaws.com</Endpoint><Bucket>bucketname</Bucket><RequestId>id_string</RequestId><HostId>id_string</HostId></Error>"

感谢对此错误消息的任何想法或有关如何访问 R 中的公共 S3 对象的任何建议。

标签: ramazon-web-servicesamazon-s3

解决方案


推荐阅读