Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

221
Views
AWS API Gateway Integration and Terraform

I'm struggling to translate my API Gateway Integration request into Terraform code, I'm trying to pass a multipart/form-data request to a Lambda for storage.

I've been able to set up the API gateway manually from scratch, but when I try the terraform I recieve an Internal server error and Cloudwatch tells me the gateway has been unable to transform the request.

Execution failed due to configuration error: Unable to transform request

The problem seems to be in the Integration request, because if I do the terraform deployment I can get the whole thing to work by changing the Integration Type in the UI to Lambda Proxy, changing it back again and adding re-adding the Mapping Template.

Terraform block for the Integration;

resource "aws_api_gateway_integration" "docuemnt-api-method-integration" {
  rest_api_id = aws_api_gateway_rest_api.document-api.id
  resource_id = aws_api_gateway_resource.document-resource.id
  http_method = aws_api_gateway_method.document-post-method.http_method
  type = "AWS"
  uri = aws_lambda_function.document_function.invoke_arn
  integration_http_method = "POST"
  passthrough_behavior = "WHEN_NO_TEMPLATES"
  request_templates = {
    "multipart/form-data" = file("${path.module}/mapping/mapping_template.json")
  }
}

The Mapping template

{
  "body":"$input.body",
  "content-type": "$util.escapeJavaScript($input.params().header.get('Content-Type'))"
}
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

On the AWS console you are NOT able to set the Integration Request's content_handling and it is only an Optional parameter in terraform as well. When you are changing the Integration Type in the UI to Lambda Proxy, the integration request's content_handling will be set to CONVERT_TO_TEXT.

So you need to add this row to the aws_api_gateway_integration:

content_handling = "CONVERT_TO_TEXT" 

And normally it will solve your problem.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!