在 s3fs.S3FileSystem 中设置超时的正确方法是什么?

问题描述

我尝试了各种方法来设置 s3fs.S3FileSystem 对象的读取超时,例如

s3 = s3fs.S3FileSystem(s3_additional_kwargs={"read_timeout": 500},config_kwargs={"read_timeout": 500} )

s3.read_timeout = 500 但是他们似乎都没有按预期控制超时。有谁知道设置这些类型参数的正确方法吗?

谢谢

解决方法

这个:

S3FileSystem.read_timeout = 500

可以在创建任何实例之前工作,因为它控制应用于实例的默认超时。

如果要按实例设置,则需要 config_kwargs(传递给 botocore 的 Config)。看来您尝试过此版本,因此值得跟进 aiobotocore,看看他们的代理 AioConfig 是否支持该参数。

请注意,您可能会遇到其他超时,例如 connect_timeout 和较低级别的 HTTP/socket。