2017-04-05 174 views
1

我正在嘗試創建一個可以將zip文件作爲輸入(PUT請求)並將其存儲在S3上的休息api。從api網關上傳二進制文件到S3存儲桶

我下面就http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-content-encodings-examples-image-s3.html

我得到500錯誤廣告的教程CloudWatch的日誌如下

的請求驗證使用計劃: c2140431-1a10-11e7-9f32- 0df3853848fe。 API密鑰:API階段: xjjd186a30/rd

由於方法'PUT/s3'不需要API密鑰授權的API密鑰。

請求將無助於油門或配額限制

使用計劃檢查成功的API密鑰和API階段xjjd186a30/RD

的要求開始執行:c2140431-1a10-11e7-9f32-0df3853848fe

HTTP方法:PUT,資源路徑:/ S3

成功完成執行

方法與狀態完成:500

enter image description here

當我試圖從郵遞員的API,我得到

AccessDenied訪問 DeniedF55D45C185A5BF11HXopfmxAxGNvmdi7PRp4c1j/wPYmGVTrkKbGXfZwofLOn7TRBPs3uFjer/2UCIktynKtGeNU1Xw =

我的角色我給了AmazonS3FullAc放棄權限並將角色分配給api網關設置和集成請求。

誰能幫助請

+0

也許一個'amazon'錯誤'[InternalServerError] 500' – Hackerman

+0

同時嘗試使用'POST'請求​​,而不是'put' ...檢查了這http://stackoverflow.com/questions/6273560/put-vs-post-for-files-upload-restful-api-to-built-using-zend-framework – Hackerman

回答

1

它看起來像你正試圖把名爲rest桶。 這是正確的桶嗎?

本文檔可能會爲你多一點幫助: Integrating API with AWS S3

在本例中在文檔中使用,一個bucketobject在認沽項目的方法路徑覆蓋提供。這些映射從路徑參數folderitem

這是一個有益的截圖: enter image description here

+2

我試過了,成功地放了音頻文件,但是我玩不了,我認爲內容類型存在一些問題!如何通過api網關將音頻文件作爲multipart/form-data發送給s3? – Sabreena

0

如果你要上傳的二進制文件,如MP3,音頻,文檔等等,你可以用價值multipart/form-dataBinary support在AWS API網關添加一個條目設置並使用postman或api客戶端的標頭Content-Type = multipart/form-data發佈/放置二進制文件。它應該工作..!

api gateway-binary support image

相關問題