我正在使用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對象存儲帳戶中創建一個新的容器。
瞧!批量上傳。希望這可以幫助。