正如文档所述,我们可以使用patch_all为s3和sqs等亚马逊网络服务自动创建子细分市场。我的问题是我应该在哪里调用这个方法。
例如,假设有两个使用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的最佳实践是什么?谢谢
发布于 2020-09-15 01:54:20
您可以简单地在main函数中调用patch_all()。只需遵循here的说明,它应该可以在同一应用程序中修补的所有库(functions and classes)上工作。
https://stackoverflow.com/questions/63828901
复制相似问题