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

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

profile pictureAWS
ESPERTO
Uri
con risposta 3 mesi fa
  • 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

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande