微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在哪里使用AWS X射线所有修补程序python

如何解决在哪里使用AWS X射线所有修补程序python

如前所述,我们可以使用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有什么好的做法?谢谢

解决方法

您可以简单地在主函数中调用patch_all()。只需遵循说明here,它就可以在同一应用程序中修补的所有库(functions and classes)中工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。