AWS Xray: невозможно создать сегменты внутри лямбда-функции, а сегмент не найден - PullRequest
0 голосов
/ 24 августа 2018

Действительно странное поведение, с которым я столкнулся, я слежу за онлайн-документацией, и при создании сегмента для работы с моим подсегментом лямбда-функция выполняется в следующем порядке:

xray_recorder.begin_segment('segment-name')
xray_recorder.begin_subsegment('subsegment-name')
# put annotations and meta data etc
xray_recorder.end_segment('segment-name')
xray_recorder.end_subsegment('subsegment-name')

, но я получаю следующую ошибку CloudWatch Manager :

Cannot create segments inside Lambda function. Discarded.

Когда я удаляю создание сегмента и пытаюсь запускать вещи локально, как это:

xray_recorder.begin_subsegment('subsegment-name')
# put annotations and meta data etc
xray_recorder.end_segment('segment-name')

Я получаю ошибку: SegmentNotFoundException: не могу найти текущийсегмент / подсегмент, пожалуйста, убедитесь, что у вас есть открытый сегмент

Запутано.

1 Ответ

0 голосов
/ 24 августа 2018

При локальном запуске сегменты xray создаются локально, и вам необходимо инициировать сегменты для создания подсегментов, но во время работы на лямбде в AWS сегменты создаются по умолчанию, и вы можете продолжить работу с подсегментами.

Локально я сталкивался с ошибками, когда пропускал создание сегментов, пока он работал нормально удаленно.

...