【问题标题】:where to use aws x-ray patch all (python)在哪里使用 aws x-ray patch all (python)
【发布时间】:2020-09-10 11:38:57
【问题描述】:

如文档所述,我们可以使用 patch_all 自动为 s3 和 sqs 等 aws 服务创建子段。我的问题是我应该在哪里调用这个方法。

例如,假设有 2 个文件使用 boto3 并且我们要修补。 因为它们是独立的,所以我们必须在它们两个中调用patch_all。因此,我们会:

文件a.py

import boto3
from xray_recorder import patch_all
patch_all()

文件b.py

import boto3
from xray_recorder import patch_all
patch_all()

现在,假设我们有一个名为 c.py 的模块,它同时导入了 a.pyb.py

import a
import b

在此流程中,boto3 将被修补两次。

我找到的唯一解决方案是仅从文件内部导入boto3,例如命名为my_boto3.py,该文件导入boto3 并对其进行修补。

修补boto3 的最佳做法是什么?谢谢

【问题讨论】:

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


    【解决方案1】:

    您可以在主函数中简单地调用patch_all()。只需按照说明here,它应该适用于同一应用程序中修补的所有库(functions and classes)。

    【讨论】:

    • 使用 lambda 时的“主要”功能是什么?没有主要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多