如何解决在哪里使用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.py
和b.py
:
import a
import b
在此流程中,boto3
将被修补两次。
我找到的唯一解决方案是仅从文件内部导入boto3
,例如my_boto3.py
,该文件将导入boto3
并对其进行修补。
修补boto3
有什么好的做法?谢谢
解决方法
您可以简单地在主函数中调用patch_all()
。只需遵循说明here,它就可以在同一应用程序中修补的所有库(functions and classes)中工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。