簡體   English   中英

解壓縮CDN的Rackspace雲文件容器上的文件

[英]Uncompress file on Rackspace cloud files container for CDN

我今天早些時候已經為CDN創建了一個Rackspace帳戶,以從Rackspace提供我的Opencart映像。

我創建了一個容器,可以在其中上傳500,000張圖像,但是更喜歡將它們作為壓縮文件上傳,感覺更加靈活。

如果我將所有圖像上傳到壓縮文件中,當文件在容器中時如何提取? 哪些壓縮類型的文件會起作用?

答案可能取決於您嘗試上載文件的方式。 由於未指定,因此我將在* nix環境中使用CLI回答您的問題。

回答您的問題(使用curl)

使用curl可以上傳壓縮文件,並使用extract-archive功能將其提取。

$ tar cf archive.tar directory_to_be_archived
$ curl -i -XPUT -H'x-auth-token: AUTH_TOKEN' https://storage101.iad3.clouddrive.com/v1/MossoCloudFS_aaa-aaa-aaa-aaa?extract-archive=tar -T ./archive.tar

您可以在以下位置找到此功能的文檔: http : //docs.rackspace.com/files/api/v1/cf-devguide/content/Extract_Archive-d1e2338.html

推薦的解決方案(快速使用)

使用上述方法上載和提取許多對象可能需要很長時間才能完成。 此外,如果在此期間網絡中斷,則必須從頭開始。

我建議改用Swiftly這樣的工具,該工具可讓您同時上傳文件。 這樣,如果上傳過程中出現問題,則不必重新上傳已經成功上傳的對象。

如何執行此操作的示例如下:

$ swiftly --auth-url="https://identity.api.rackspacecloud.com/v2.0" \
--auth-user="{username}" --auth-key="{api_key}" --region="DFW" \
--concurrency=10 put container_name -i images/

如果上載時網絡中斷,或者您必須停止/重新開始上載文件,則可以在上述命令中的“ put”后面添加“ --different”選項。 這將迅速告訴HEAD首先該對象,並且僅在本地文件的時間或大小與相應對象不匹配時才上傳,跳過已上傳的對象。

可以在github上快速找到它: https : //github.com/gholt/swiftly

還有其他客戶端可能會執行相同的操作,但是我知道Swift可以正常工作,因此我建議這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM