AWS BOTO:没有处理程序配置完成后

时间:2016-12-17 17:54:09

标签: django amazon-web-services amazon-s3 boto

我正在AWS上的ec2上部署我的Django应用程序。

我做了配置设置〜/ .boto,最后成功'python manage.py collectstatic'。

如果出现错误,则会导致错误! (我知道,因为我通过设置〜/ .boto配置文件来解决它!)。

但是在配置之后,当我在映射到我的imageField模型的S3处查询我的图像文件时,它会显示以下错误消息:

  

没有处理程序准备好进行身份验证。检查了1名处理程序。   ['HmacAuthV1Handler']检查您的凭据

我认为我进行了身份验证,但为什么会出现此消息?

1 个答案:

答案 0 :(得分:0)

使用角色绝对是在EC2中处理身份验证到AWS的正确方法。将长期凭证放在机器上是一种令人厌恶的选择。假设您正在使用标准SDK(并且绝对是boto),SDK将自动使用角色的临时凭证进行身份验证,因此您所要做的就是使用指定角色的“实例配置文件”启动实例,然后您获得免费的安全证书交付。

您必须更换服务器才能这样做但是无论如何能够重新创建服务器是成功的基础。越早思考这种方式,云就越适合你。

将角色附加到实例后,可以动态修改定义角色权限的策略。因此,您无需在创建角色之前获取权限。

在高级别,您在实例创建时指定角色。 EC2控制台可以促进创建角色的过程,允许EC2服务访问它,并指定实例创建时间。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html提供详细说明。