upload binary from api gateway to S3 bucket

余生颓废 提交于 2019-12-19 10:59:11

问题


i was trying to create a rest api which can take zip file as input (PUT requst) and store that on S3.

I'm following the tutorial on http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-content-encodings-examples-image-s3.html

I'm getting 500 error ad the cloudwatch logs are as follows

Verifying Usage Plan for request: c2140431-1a10-11e7-9f32-0df3853848fe. API Key: API Stage: xjjd186a30/rd

API Key authorized because method 'PUT /s3' does not require API Key.

Request will not contribute to throttle or quota limits

Usage Plan check succeeded for API Key and API Stage xjjd186a30/rd

Starting execution for request: c2140431-1a10-11e7-9f32-0df3853848fe

HTTP Method: PUT, Resource Path: /s3

Successfully completed execution

Method completed with status: 500

when i try the api from post man i get

AccessDeniedAccess DeniedF55D45C185A5BF11HXopfmxAxGNvmdi7PRp4c1j/wPYmGVTrkKbGXfZwofLOn7TRBPs3uFjer/2UCIktynKtGeNU1Xw=

my roles i have given AmazonS3FullAccess permission and have assigned the role to api gateway settings and the integration request.

can anyone help please


回答1:


It looks like you are attempting to put to the bucket named rest. Is that the correct bucket?

This documentation will probably be a little more helpful for you: Integrating API with AWS S3

In the example in used in the documentation, a bucket and object are provided in the path override for the PUT item method. These are mapped from the path params folder and item.

Here is a helpful screenshot:




回答2:


If you want to upload the binary files like mp3,audio, documents etc..., you can add an entry with value multipart/form-data in the Binary support in AWS API Gateway settings and post/put the binary file using the header Content-Type = multipart/form-data from postman or api client. It should work..!!

api gateway-binary support image



来源:https://stackoverflow.com/questions/43235310/upload-binary-from-api-gateway-to-s3-bucket

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!