有没有人可以提供一个完整的例子:使用boto3和Python2.7将文件从台式计算机上传到DigitalOcean Spaces,这样上传的文件就可以从共享空间公开读取。
DigitalOcean表示,他们的Spaces应用程序接口与S3应用程序接口相同。我不知道这是否是100%正确的,但这是他们的接口:https://developers.digitalocean.com/documentation/spaces
我可以使用下面的代码进行文件上传,但我找不到一个如何指定文件公开可读的示例。我不想让整个Space (= S3存储桶)成为可读的--只读对象。
import boto3
boto_session = boto3.session.Session()
boto_client = boto_session.client('s3',
region_name='nyc3',
endpoint_url='https://nyc3.digitaloceanspaces.com',
aws_access_key_id='MY_SECRET_ACCESS_KEY_ID',
aws_secret_access_key='MY_SECRET_ACCESS_KEY')
boto_client.upload_file( FILE_PATHNAME, BUCKETNAME, OBJECT_KEYNAME )
将最后一条语句更改为以下语句不起作用:
boto_client.upload_file( FILE_PATHNAME, BUCKETNAME, OBJECT_KEYNAME,
ExtraArgs={ 'x-amz-acl': 'public-read', } )
谢谢。
https://stackoverflow.com/questions/47661177
复制相似问题