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 Respuesta
0

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

profile pictureAWS
EXPERTO
Uri
respondido hace 3 meses
  • 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

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas