从api网关上传二进制文件到S3存储桶
我正在尝试创建一个可以将zip文件作为输入(PUT请求)并将其存储在S3上的休息api。从api网关上传二进制文件到S3存储桶
我得到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
当我试图从邮递员的API,我得到
AccessDenied
访问 DeniedF55D45C185A5BF11HXopfmxAxGNvmdi7PRp4c1j/wPYmGVTrkKbGXfZwofLOn7TRBPs3uFjer/2UCIktynKtGeNU1Xw =
我的角色我给了AmazonS3FullAc放弃权限并将角色分配给api网关设置和集成请求。
谁能帮助请
它看起来像你正试图把名为rest
桶。 这是正确的桶吗?
本文档可能会为你多一点帮助: Integrating API with AWS S3
在本例中在文档中使用,一个bucket
和object
在认沽项目的方法路径覆盖提供。这些映射从路径参数folder
和item
。
我试过了,成功地放了音频文件,但是我玩不了,我认为内容类型存在一些问题!如何通过api网关将音频文件作为multipart/form-data发送给s3? – Sabreena
如果你要上传的二进制文件,如MP3,音频,文档等等,你可以用价值multipart/form-data
在Binary support
在AWS API网关添加一个条目设置并使用postman或api客户端的标头Content-Type = multipart/form-data
发布/放置二进制文件。它应该工作..!
也许一个'amazon'错误'[InternalServerError] 500' – Hackerman
同时尝试使用'POST'请求,而不是'put' ...检查了这http://stackoverflow.com/questions/6273560/put-vs-post-for-files-upload-restful-api-to-built-using-zend-framework – Hackerman