Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将文件从S3下载到EC2时出错_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services 将文件从S3下载到EC2时出错

Amazon web services 将文件从S3下载到EC2时出错,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,当我使用“wget”命令将文件从amazon S3下载到amazon EC2实例时, 它给出了以下消息和未下载的文件 如何解决这个问题 命令:-> "wget https://s3.amazonaws.com/docsbucket/intro.doc" "Resolving s3.amazonaws.com... 207.171.163.225 Connecting to s3.amazonaws.com|207.171.163.225|:443... connected. HTTP requ

当我使用“wget”命令将文件从amazon S3下载到amazon EC2实例时, 它给出了以下消息和未下载的文件

如何解决这个问题

命令:->

"wget https://s3.amazonaws.com/docsbucket/intro.doc"
"Resolving s3.amazonaws.com... 207.171.163.225
Connecting to s3.amazonaws.com|207.171.163.225|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2013-03-20 13:06:00 ERROR 403: Forbidden."
错误消息:->

"wget https://s3.amazonaws.com/docsbucket/intro.doc"
"Resolving s3.amazonaws.com... 207.171.163.225
Connecting to s3.amazonaws.com|207.171.163.225|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2013-03-20 13:06:00 ERROR 403: Forbidden."

除非该文件是公开的,否则您需要使用密钥进行身份验证才能下载该文件。使用类似于
s3cmd

的工具,这可能是最容易做到的。您应该在拥有读取S3存储桶权限的情况下启动EC2实例

最简单的方法是使用角色。您只需在AWS的IAM(身份和访问管理)服务中创建一个可以从S3读取的角色。然后使用此角色启动实例。AWS将负责在实例上获取正确的凭据,您可以使用S3CLI工具获取S3对象

您可以使用相同的“技巧”访问其他资源以及对这些资源执行的其他操作


您可以在AWS文档中了解更多信息:

在我向每个人授予该文件的读取权限后,这项功能就发挥了作用
转到权限选项卡->公共访问->单击所有人->然后授予读取权限

请告诉我如何执行此操作?IAM角色将获取实例的凭据,但您仍需要使用使用这些凭据的机制。wget命令不使用任何凭据,IAM也不会添加它们。建议使用像s3cmd这样的工具是一个很好的建议。这将使用定义的任何角色。这就是我们最终如何使用S3存储桶,存储数十万个个人信息并将其打开到Internet的文件(