我正在使用IBM Object Storage来存储大量非常小的文件, 说在一个小时内超过1500个小文件。 (1500个文件的总大小约为5 MB) 我正在使用对象存储库api来发布文件,每次只有一个文件。如何使用IBM Object Storage执行批量文件存储?
问题是,存储1500个小文件大约需要15分钟。这是设置和关闭与对象存储的连接。
有没有办法做一种批量发布,在一个帖子中发送多个文件?
问候,
我正在使用IBM Object Storage来存储大量非常小的文件, 说在一个小时内超过1500个小文件。 (1500个文件的总大小约为5 MB) 我正在使用对象存储库api来发布文件,每次只有一个文件。如何使用IBM Object Storage执行批量文件存储?
问题是,存储1500个小文件大约需要15分钟。这是设置和关闭与对象存储的连接。
有没有办法做一种批量发布,在一个帖子中发送多个文件?
问候,
看的OpenStack斯威夫特(Bluemix对象存储)中提供的archive-auto-extract功能。我假设您熟悉从Bluemix对象存储获取X-Auth-Token和Storage_URL。如果没有,我的文章large file manifests解释了这个过程。从文档中,约束包括:
- 必须使用tar工具创建的tar归档文件。
- 您可以上传普通文件,但不能上传其他项目(例如,空目录或符号链接)。
- 您必须使用UTF-8编码成员名称。
的基本步骤是:IBM公司Bluemix通过查看信息的详细内容的服务@https://dal.objectstorage.open.softlayer.com/info支持此功能
"bulk_upload": { "max_failed_extractions": 1000, "max_containers_per_extraction": 10000 }
将此tar档案上传到对象存储中,并使用一个特殊参数告诉swift自动将内容提取到容器中。
PUT /v1/AUTH_myaccount/my_backups/?extract-archive=tar.gz
来自文档:要上传档案文件,请发出PUT请求。添加extract-archive = format查询参数,以表明您正在上传tar归档文件而不是普通内容。在请求体内包含本地文件backup.tar.gz的内容。
喜欢的东西:
AUTH_myaccount/my_backups/etc/config1.conf
AUTH_myaccount/my_backups/etc/cool.jpg
AUTH_myaccount/my_backups/home/john/bluemix.conf
...
检查结果。存档中的任何顶级目录都应该在Swift对象存储帐户中创建一个新的容器。
瞧!批量上传。希望这可以帮助。