擅长:python、mysql、java
<p><a href="http://libcloud.readthedocs.org/en/latest/storage/drivers/s3.html" rel="nofollow">Libcloud S3 wrapper</a>透明地为您处理所有部件的拆分和上载。在</p>
<p>使用upload_object_via_stream方法执行此操作:</p>
<pre><code>from libcloud.storage.types import Provider
from libcloud.storage.providers import get_driver
# Path to a very large file you want to upload
FILE_PATH = '/home/user/myfile.tar.gz'
cls = get_driver(Provider.S3)
driver = cls('api key', 'api secret key')
container = driver.get_container(container_name='my-backups-12345')
# This method blocks until all the parts have been uploaded.
extra = {'content_type': 'application/octet-stream'}
with open(FILE_PATH, 'rb') as iterator:
obj = driver.upload_object_via_stream(iterator=iterator,
container=container,
object_name='backup.tar.gz',
extra=extra)
</code></pre>
<p>有关S3多部分特性的官方文档,请参阅<a href="https://aws.amazon.com/blogs/aws/amazon-s3-multipart-upload/" rel="nofollow">AWS Official Blog</a>。在</p>