Явно устанавливая requestId для разных функций Lambda - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь создать приложение без сервера, используя интеграцию функций AWS APIGateway / Lambda.

У меня есть следующие настройки:

  * Two APIGateway resources. Calling them service A and service B for now.
  * Two Lambda functions which act the the backend, responsible for processing the requests from APIGateway. Calling them LambdaFunction A and LambdaFunction B for now. 


ServiceA -> LambdaFunctionA
ServiceB -> LambdaFunctionB

ServiceA->ServiceB

Теперь согласно настройке serviceA можно вызвать ServiceB. Я хотел бы отследить запрос, исходящий от serviceA к serviceB. Один из способов, которым я думал сделать это, - это requestIds. Я пытался увидеть, есть ли какой-то конкретный способ сохранить / явно предоставить requestIds, когда serviceA вызывает serviceB? Я просмотрел документы AWS и не смог найти какой-либо конкретный механизм по этому вопросу.

Другая альтернатива, которую я имел, состояла в том, чтобы интегрировать мои функции Lambda с Xray, а затем, возможно, передать requestId в контекстную карту / трассировку Xray. Я сомневаюсь, что я первый, кто попытался отследить запросы по нескольким функциям Lambda, и подумал, что механизм для этого уже существует. Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 27 марта 2019

AWS X-Ray уже использует идентификаторы трассировки, которые используются для распространения контекста по двум ресурсам в вашем случае servicea и serviceb.Для API Gateway и Lambda распространение контекста для идентификатора трассировки происходит автоматически, если у вас включен X-Ray на шлюзе API или точке входа точки входа.Идентификатор трассировки, созданный для вас X-Ray SDK в API Gateway или lambda, используется для уникальной идентификации запроса.Если у вас есть собственный идентификатор запроса, вы можете дополнительно добавить его к рентгеновским сегментам в качестве аннотаций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...