Step Function Gateway Integration - Response Header

0

I use a Step Function integrated into an API Gateway endpoint. The Step Functions last Task is a Lambda Function. Based on a calculation in the last Task I want to set a response header. The problem that I'm facing is that the standard way of mapping the header doesn't work: integration.response.body.JSONPathExpression

The problem is that the output of a task is always parsed to a json string and can not be accessed via integration.response.body. I can only access the complete Json string: integration.response.body.output

But I can not access any nested properties because it's just a Json string.

Has anyone else faced a similar problem and solved it?

1 Answer
0

You may need to use mapping templates and use $util.parseJson().

profile pictureAWS
EXPERT
Uri
answered 2 months ago
  • Thank you for your answer. The problem is that the mapping template is applied after the header mapping. So mapping the application/json has no influence on my header mapping.

  • That is true, but you can override the value of a header inside the mapping template using $context.responseOverride.header.header_name. See more here

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions