2016-09-26 37 views
1

我正在使用IBM Object Storage來存儲大量非常小的文件, 說在一個小時內超過1500個小文件。 (1500個文件的總大小約爲5 MB) 我正在使用對象存儲庫api來發布文件,每次只有一個文件。如何使用IBM Object Storage執行批量文件存儲?

問題是,存儲1500個小文件大約需要15分鐘。這是設置和關閉與對象存儲的連接。

有沒有辦法做一種批量發佈,在一個帖子中發送多個文件?

問候,

回答

1

看的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支持此功能

  1. 確認。你會看到類似的響應中的JSON部分:
 
    "bulk_upload": { 
      "max_failed_extractions": 1000, 
      "max_containers_per_extraction": 10000 
    }
  • 創建您需要的文件集的tar歸檔。 tar gzip是最常見的。
  • 將此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對象存儲帳戶中創建一個新的容器。

  • 瞧!批量上傳。希望這可以幫助。

    相關問題