我是s3 bucket的新手,我正在尝试解压缩保存在公共s3存储桶上的文件。在R中执行此操作时,我的代码是:
fn <- "http://s3://[redacted url address].tar.gz"
download.file(fn, destfile = "tmp.tar.gz")
我得到“500内部Privoxy错误”或“502 Fiddler - DNS查找失败”,具体取决于我尝试使用的计算机。
我正在尝试使用R在网上搜索从s3存储桶下载的正确方法,但是找不到太多,希望我能在这里得到一些帮助。
谢谢你!答案 0 :(得分:0)
我最初假设s3://[redacted url address].tar.gz
的编辑部分包含S3存储桶的REST端点的完全限定主机名。
事实证明,格式可能只是s3://bucket-name/filename.tar.gz
。
在这种情况下,您仍然可以将其转换为可下载的URL(假设资源是公共的)...需要将存储桶名称转换为S3中的主机名。
s3://example-bucket/file.tar.gz
......变成......
http://example-bucket.s3.amazonaws.com/file.tar.gz
如果存储桶名称不包含任何点,则https也可以使用。 (如果存储桶名称中有点,它仍然可以工作&#34;但HTTP用户代理不会信任*.s3.amazonaws.com
通配符证书。
所有配置为公共访问的对象的存储区都可以通过此URL格式从任何Web浏览器或其他http用户代理库访问。 S3存储桶存储在多个区域之一(在存储桶创建时由存储桶拥有者指定),每个区域都有特定于区域的端点也可以工作,但上面显示的构造对所有存储桶都有效。
http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region