Canot实例化boto3 S3Transfer类

Ron*_*hen 5 python amazon-s3 boto3

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

import boto3
client = boto3.client('s3', 'us-east-1')
transfer = S3Transfer(client)
Run Code Online (Sandbox Code Playgroud)

结果:

NameError: name 'S3Transfer' is not defined
Run Code Online (Sandbox Code Playgroud)

试过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
Run Code Online (Sandbox Code Playgroud)

任何指针将不胜感激.

谢谢,罗恩

gar*_*aat 14

S3Transfer类是模块中的boto3.s3.transfer,所以你必须做这样的事情:

from boto3.s3.transfer import S3Transfer
import boto3

client = boto3.client('s3')
transfer = S3Transfer(client)
Run Code Online (Sandbox Code Playgroud)

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