我正在尝试使用IBM Cloud Object Storage来存储用户上传到我的站点的图像。我让这个功能工作得很好。
然而,根据这里的文档(link),似乎一次只能从存储桶中下载一个对象。
有没有办法从存储桶中下载所有对象的列表?从COS存储桶中请求多个对象是否有不同的方式?
发布于 2018-09-26 04:09:08
通过REST API,不能,一次只能下载一个对象。但大多数工具(如AWS CLI或Minio客户端)允许下载所有共享前缀的对象(例如foo/bar
和foo/bas
)。S3库的IBM现在也与Aspera集成在一起,可以一次传输所有大目录。你想做什么?
发布于 2018-09-28 08:57:55
根据S3规范(https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html),一次只能下载一个对象。
发布于 2020-02-27 20:07:52
有多种tools可以帮助您从对象存储一次下载多个对象。我使用AWS CLI工具从对象存储下载对象并上传到对象存储。
因此,安装aws-cli工具并通过提供access_key_id
和secret_access_key
here对其进行配置。
递归地将S3对象复制到本地目录:当使用参数--recursive
传递时,以下cp命令将指定前缀和存储桶下的所有对象递归复制到指定目录。
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。
我希望它能为你工作。
https://stackoverflow.com/questions/52500780
复制相似问题