我正在尝试将文件从S3复制到Ec2实例,这是一种奇怪的行为 以下命令运行完全正常并向我显示s3的内容,我想访问
$ aws s3 ls s3://my-folder
2016-05-07 16:44:50 6007 myfile.txt
然后我发出以下命令(也成功)
$aws s3 cp s3://my-folder/myfile.txt ./
但是当我尝试复制此文件时,我发现了如下错误
x
必须指定区域 - 区域或指定区域 配置文件或作为环境变量。或者,一个 可以使用--endpoint-url
指定端点
我只想将txt文件从s3复制到ec2实例。 至少修改上面的命令来复制内容。我不确定区域,如果我从网上访问S3,它说
“S3不需要区域选择”
地球上发生了什么?
答案 0 :(得分:6)
如果您的区域未在aws configure中设置为默认区域,则很可能无法正常工作,您应该无法列出存储桶。
因此,根据我对S3的经验,如果这样做:
aws s3 ls s3://my-folder
那么这也应该有效:
aws s3 cp s3://my-folder/myfile.txt ./
但是,如果它要求你提供区域,那么你需要提供它。
尝试此操作以获取存储区域:
aws s3api get-bucket-location --bucket BUCKET
然后这将复制文件:
aws s3 cp --region <your_buckets_region> s3://my-folder/myfile.txt ./
如果我从网上访问S3,则说
&#34; S3不需要区域选择&#34;
S3和存储区域可能会非常混乱,特别是对于该消息。因为对于s3地区而言,它是IMO中最具误导性的信息。除非您启用cross-region replication,否则每个存储桶都有特定区域(默认为us-east-1)。
您可以选择一个区域来优化延迟,最大限度地降低成本或 解决监管要求。永远存储在区域中的对象 离开该区域,除非您明确将它们转移到另一个区域 区域。有关区域的更多信息,请参阅Accessing a Bucket:in Amazon Simple Storage Service开发人员指南。
答案 1 :(得分:1)
怎么样
aws s3 cp s3://my-folder/myfile.txt .
# or
aws s3 cp s3://my-folder/myfile.txt myfile.txt
我怀疑问题与本地路径解析器有关。 aws cli s3 fileformat parser
有点奇怪,因为aws cli读取了凭证和区域配置。
答案 2 :(得分:0)