2017-04-05 178 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

相关问题