2015-03-08 102 views
2

我有一個功能來讀取AWS S3'key'的內容。關鍵是JS file,稱爲colorInfo。我可以從S3界面導航到文件,我可以從python shell成功訪問它。 在再造一個函數內的蟒蛇殼步驟,插入功能到Python文件的其餘部分,它called--Boto AWS S3-「NoSuchKey」,當密鑰確實存在時

'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的生活中呈現了我從Django的調試控制檯中的錯誤'14ram1500tradesmanreg4a' key。有沒有人有任何見解?如果可以幫助任何人,我可以提供更多細節。

謝謝!

回答

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,你應該只提供密鑰。

+0

因此,我可以從我的Web瀏覽器導航到[http:/s3.amazonaws.com/org.gomoto.izmo/Colors/2014/ 14ram/14ram1500tradesmanreg4a/colorInfo.js]這一事實並不意味着密鑰可用? 我該如何從我的python代碼中訪問該python文件呢? – Richael 2015-03-09 15:17:47

+0

@Richael the ** key **對象是'Colors/2014/...'。它不是'http:// ...'。您正在嘗試請求格式不正確的網址時收到錯誤消息。關鍵是*僅*路徑和文件名。錯誤中顯示的關鍵字包含無關信息的事實告訴您,您沒有請求您打算從S3請求的內容。 – 2015-03-09 17:25:51

+0

謝謝你的幫助邁克爾。我們修復了我們的bug – Richael 2015-03-10 16:56:17

相關問題