当Key确实存在时,Boto AWS S3-" NoSuchKey"

时间:2015-03-08 22:27:38

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

我有一个函数来读取AWS S3“key”的内容。关键是名为JS file的{​​{1}}。我可以从S3界面导航到该文件,我可以从python shell成功访问它。 在函数中重新创建python shell步骤并将函数插入到python文件的其余部分时,它会在调用Django调试控制台时向我显示错误 -

colorInfo

''S3ResponseError: 404 Not Found' and: '<Error><Code>NoSuchKey</Code><Message>The specified key does not exist</Message<Key>http:/s3.amazonaws.com/org.gomoto.izmo/Colors/2014/ 14ram/14ram1500tradesmanreg4a/colorInfo.js</Key>' '位于'colorInfo.js内。有没有人有任何见解?我可以提供更多细节,如果它可以帮助任何人。

谢谢!

1 个答案:

答案 0 :(得分:3)

错误消息是正确的。您请求的对象不存在,因为您正在请求错误的对象。仔细阅读:

<Key>http:/s3.amazonaws.com/org.gomoto.izmo/Colors/2014/ 14ram/14ram1500tradesmanreg4a/colorInfo.js</Key>

这是关键,包含路径和文件名。它不包含存储桶,或“http”或主机名。

这意味着您似乎没有尝试下载http://s3.amazonaws.com/bucket/object,而是链接到http://s3.amazonaws.com/bucket/http:/s3.amazonaws.com/bucket/object。看起来,在某些时候,您提供的是完整的URL,您应该只提供密钥。