我正在尝试使用IBM Cloud Object Storage存储用户上传到我的站点的图像。我已经可以正常使用此功能。
但是,根据此处的文档(link),似乎一次只能从存储桶中下载一个对象。
有什么办法可以从存储桶中下载所有对象列表吗?是否有其他方法可以从COS存储桶中请求多个对象?
答案 0 :(得分:0)
通过REST API,不可以,一次只能下载一个对象。但是大多数工具(例如AWS CLI或Minio Client)都允许下载共享前缀的所有对象(例如foo/bar
和foo/bas
)。 S3库的IBM分支现在也已与Aspera集成在一起,并且可以一次传输所有大目录。你想做什么?
答案 1 :(得分:0)
根据S3规范(https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html),您一次只能下载一个对象。
答案 2 :(得分:0)
有各种各样的tools可能有助于一次从COS下载多个对象,我使用了AWS CLI工具从COS下载对象并将其上传到COS。
因此,请安装aws-cli工具并通过提供access_key_id
和secret_access_key
here对其进行配置。
将S3对象递归复制到本地目录:当与参数--recursive
一起传递时,以下cp命令将所有在指定前缀和存储桶下的对象递归复制到指定目录。 / p>
C:\Users\Shashank>aws s3 cp s3://yourBucketName . --recursive
例如:
C:\Users\Shashank>aws --endpoint-url http://s3.us-east.cloud-object-storage.appdomain.cloud s3 cp s3://yourBucketName D:\s3\ --recursive
在我的终端基于美国东部地区的情况下,我将对象复制到D:\ s3目录中。
将本地文件递归复制到S3:当与参数--recursive一起传递时,以下cp命令将指定目录下的所有文件递归复制到指定存储桶。
C:\Users\Shashank>aws s3 cp myDir s3://yourBucketName/ --recursive
例如:
C:\Users\Shashank>aws --endpoint-url http://s3.us-east.cloud-object-storage.appdomain.cloud s3 cp D:\s3 s3://yourBucketName/ --recursive
我正在将对象从D:\ s3目录复制到COS。
有关更多参考,请参见链接here。
我希望它对您有用。