Streaming data to an HTTP endpoint with Amazon Kinesis Data Firehose

0

Hi All, Trying to implement "Streaming data to an HTTP endpoint with Amazon Kinesis Data Firehose" using AWS Big Data blog https://aws.amazon.com/blogs/big-data/stream-data-to-an-http-endpoint-with-amazon-kinesis-data-firehose/. Blog does not tell about "REST API in Amazon API Gateway" Mapping template - for Integration Request and Integration Response is configured. I am getting error HTTPEndpoint "missing requestId". How to set Integration Response & Method Response in API Gateway to work. Any help is much appreciated.

2 réponses
1

There are some good tutorials that can help you understand how to configure API Gateway - https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-rest-tutorials.html

profile pictureAWS
EXPERT
répondu il y a 2 ans
profile picture
EXPERT
vérifié il y a un mois
  • @UdAWS - If my answer has helped you understand API Gateway better, can I request you to please accept my answer. Thanks

0

Kinesis DF expects a specific response format - see https://docs.aws.amazon.com/firehose/latest/dev/httpdeliveryrequestresponse.html for details. The same responseId from the request sent to a HTTP destination must exist as well in the response. If you can not influence HTTP destination so it replies with the expected format you can use API Gateway Rest API with the integration type of HTTP. There you can define VTL templates to map responses from the target. The only way I know to remember requestId between the request and the response is to add an integration request template

#set($context.requestOverride.header.request-id = $util.parseJson($input.body).requestId)
$input.json('$')

and then in the integration response template:

#set($requestId = $context.requestOverride.header.request-id)
{
  "requestId": "$requestId",
  "timestamp": $context.requestTimeEpoch
}
répondu il y a 5 mois

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions