【问题标题】:How do I do bulk file storage with IBM Object Storage?如何使用 IBM Object Storage 进行大容量文件存储?
【发布时间】:2016-09-26 09:32:31
【问题描述】:

我正在使用 IBM Object Storage 来存储大量非常小的文件, 在一小时内说 1500 多个小文件。 (1500 个文件的总大小约为 5 MB) 我正在使用对象存储 api 来发布文件,一次一个文件。

问题是存储 1500 个小文件总共需要大约 15 分钟。这是建立和关闭与对象存储的连接。

有没有办法进行批量发布,在一个帖子中发送多个文件?

问候,

【问题讨论】:

    标签: ibm-cloud object-storage


    【解决方案1】:

    查看 Openstack Swift(Bluemix 对象存储)中可用的 archive-auto-extract 功能。我假设您熟悉从 Bluemix 对象存储中获取 X-Auth-Token 和 Storage_URL。如果没有,我关于large file manifests 的帖子解释了这个过程。从文档中,约束包括:

    • 您必须使用 tar 实用程序来创建 tar 归档文件。
    • 您可以上传常规文件,但不能上传其他项目(例如,空目录或符号链接)。
    • 您必须对成员名称进行 UTF-8 编码。

    基本步骤是:

    1. 通过查看服务@https://dal.objectstorage.open.softlayer.com/info 的信息详细信息来确认IBM Bluemix 支持此功能。您将在响应中看到类似于以下内容的 JSON 部分:
    “批量上传”:{ “max_failed_extractions”:1000, “max_containers_per_extraction”:10000 }
    1. 创建所需文件集的 tar 存档。 tar gzip 是最常见的。
    2. 使用特殊参数将此 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
      ...
      
    3. 检查结果。存档中的任何顶级目录都应在您的 Swift 对象存储帐户中创建一个新容器。

    瞧!批量上传。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      • 2020-02-25
      • 2019-01-16
      相关资源
      最近更新 更多