从链接,https://www.digitalocean.com/community/questions/how-to-upload-an-object-to-digital-ocean-spaces-using-python-boto3-library。它只说明上传文件到空间。
我想上传一个文件夹到空间。
import boto3
session = boto3.session.Session()
client = session.client('s3',
region_name='nyc3',
endpoint_url='https://nyc3.digitaloceanspaces.com',
aws_access_key_id='ACCESS_KEY',
aws_secret_access_key='SECRET_KEY')
client.upload_file('/path/to/file.ext', # Path to local file
'my-space', # Name of Space
'file.ext') # Name for remote file
这仅上传文件。如何从此过程上传文件夹或目录?
您的操作与 S3 相同,即迭代文件夹中的文件,并在使用
upload_file
迭代文件时上传所有文件。
只有 AWS CLI 具有上传文件夹的高级功能。
boto3
只能上传单个文件。
s3cmd 会完成这项工作。
它允许多个文件上传,分块上传,甚至可以将文件夹与 s3 文件夹同步
https://docs.digitalocean.com/products/spaces/reference/s3cmd/