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

Boto AWS S3- "NoSuchKey", when the Key does indeed exist

我有一个函数可以读取 AWS S3“key”的内容。密钥是一个名为 colorInfoJS file。我可以从 S3 界面导航到该文件,并且可以从 python shell 成功访问它。 在函数中重新创建 python shell 步骤并将函数插入 python 文件的其余部分后,它在调用时从 Django 调试控制台中呈现错误 -

'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”居住在“14ram1500tradesmanreg4a' key”中。有没有人有任何见识?如果它可以帮助任何人,我可以提供更多细节。

谢谢!

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

<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,而您应该只提供密钥。