如何在Python Lambda中设置细分(顶级)级别的AWS Xray批注

时间:2019-05-01 21:19:02

标签: python amazon-web-services aws-xray

我已在Python v2 Lambda中成功使用AWS Xray。 patch_all()运行良好,可以自动为Xray修补我的库的一部分,即boto3。

我无法设置可保留在较低级别子细分中的高级注释。可以在lambda中设置注释吗?如果没有,应该如何设置?我尝试获取最新的subsegmentsegment

import json
import re
import boto3
import logging
import sys

from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all

patch_all()

def lambda_handler(event, context):  
  subsegment_ref = xray_recorder.current_subsegment()
  subsegment_ref.put_annotation('account_id', 'foo')

1 个答案:

答案 0 :(得分:1)

Lambda函数段不是由X-Ray SDK生成的。我们正在与Lambda团队合作,以提供更好的体验,但目前尚无解决方法来注释该细分受众群。

要注释子段,可以在处理程序内部创建一个子段,然后向其添加注释。您可以查看用于创建自定义细分的快速入门指南https://github.com/aws/aws-xray-sdk-python

最简单的方法是使用上下文管理器样式:

with xray_recorder.in_subsegment('pick_a_subsegment_name') as subsegment:
        subsegment.put_annotation('key', 'value')