S3路径访问风格回退检测机制及Barman适配华为S3技术问询
S3路径访问风格回退的检测机制及Boto3相关实现细节
我在使用Barman备份部署于华为私有云S3服务的CNPG数据库集群时遇到问题:该私有云S3要求采用virtual host访问风格,但基于Boto3开发的Barman却回退到了path风格。已知Boto3默认逻辑为优先尝试virtual host风格,必要时回退到path风格,因此想明确以下内容:
- Boto3尝试virtual host访问风格的具体流程,以及触发回退的条件是什么?
- 该流程对应的代码在boto3或botocore库中的位置?
另外,我未在Boto3官方文档中找到可强制控制访问风格的环境变量,且其他基于Boto3开发的服务均能正常使用virtual-host风格,无法理解为何Barman/Boto3会触发回退。
更新:访问风格的环境变量(结论:不存在)
查看botocore的configprovider.py文件可知,目前没有可显式指定S3访问风格的环境变量:
DEFAULT_S3_CONFIG_VARS = { # [...] 'addressing_style': ( ( 's3', 'addressing_style' ), # 配置文件设置项:s3.addressing_style None, # **此处应为环境变量名,但实际未设置** None, # 默认值 None # 转换函数 ), # [...] }
addressing_style元组的字段定义可参考botocore源码中的注释说明,曾有开发者提出添加该环境变量的需求,但未被采纳。
内容的提问来源于stack exchange,提问作者flypenguin
相关产品推荐
相关产品推荐

