如何在boto3资源连接中传递https_connection_factory?

时间:2017-04-17 19:02:55

标签: python amazon-s3 boto boto3

boto3 document中,它显示了如何将连接从boto 2.x迁移到boto3的示例

# Boto 2.x
import boto
s3_connection = boto.connect_s3()

# Boto 3
import boto3
s3 = boto3.resource('s3')

但是,in boto,可以传递参数https_connection_factory。 boto3中的等价物是什么?

1 个答案:

答案 0 :(得分:2)

不是直接的等价物。在创建clientresource时,您可以对SSL做出一些非常广泛的选择(use_sslverify)。这两者都可以使用botocore.config.Config对象,它可以让你控制超时和http池行为等。

但是,如果您想完全控制ssl上下文,那么似乎没有任何官方支持。在内部,boto正在使用requests.Session来完成所有工作。您可以查看会话的设置位置here。如果您可以深入研究botocore的内部实施,您可以访问资源/客户端,为https://路径安装新的自定义适配器,如requests user guide中所述。 http会话对象的路径为<client>._endpoint.http_session<resource>.meta.client._endpoint.http_session