无法实例化 boto3 S3Transfer class

Canot instantiate boto3 S3Transfer class

根据 AWS 文档尝试设置 boto3 S3Transfer:

import boto3
client = boto3.client('s3', 'us-east-1')
transfer = S3Transfer(client)

结果:

NameError: name 'S3Transfer' is not defined

尝试了 Python 2.7.11 和 3.5.1 (MacOS),结果相同。 boto3 已安装并在我的 IDE (IntelliJ):

中正确解析
Successfully installed boto3-1.2.3 botocore-1.3.26 docutils-0.12 futures-3.0.5 jmespath-0.9.0 python-dateutil-2.4.2

任何指点将不胜感激。

谢谢,罗恩

S3Transfer class 在模块 boto3.s3.transfer 中,所以你必须这样做:

from boto3.s3.transfer import S3Transfer
import boto3

client = boto3.client('s3')
transfer = S3Transfer(client)

注意上面的导入语句。另请注意,S3Transfer 方法已集成到 S3 客户端和 S3 资源中,因此您可能不需要直接访问它。