Man*_*esh 5 python amazon-s3 python-3.x boto3
当我参考示例代码将文件上传到 S3 时,我发现了以下两种方法。
使用 boto3.resource.put_object():
s3_resource = boto3.resource('s3')
s3_resource.put_object(Bucket = BUCKET, Key = 'test', Body= b'some data')
Run Code Online (Sandbox Code Playgroud)
使用 boto3.s3.transfer.upload_file():
client = boto3.client('s3')
transfer = S3Transfer(client)
transfer.upload_file('/my_file', BUCKET, 'test')
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚这两种方式之间的区别。在任何特定用例中使用一个比另一个有什么优势。任何人都可以请详细说明。谢谢你。
可能没有什么区别 - boto3 有时有多种方法来实现同一件事。有关上传文件的更多详细信息,请参阅http://boto3.readthedocs.io/en/latest/guide/s3.html#uploads 。