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
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.
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..!!