自動展開アーカイブファイル

自動展開アーカイブファイル

お使いの Object Storage システムが、この機能をサポートするかどうかを確認する場合、発見可能性 を参照してください。または、サービスプロバイダーにお問い合わせください。

自動展開アーカイブ機能を使用して、tar アーカイブファイルをアップロードします。

Object Storage システムは、アーカイブファイルからファイルを展開し、オブジェクトを作成します。

自動展開アーカイブの要求

PUT リクエストを使用して、アーカイブファイルをアップロードします。extract-archive=format クエリーパラメーターを追加して、通常のコンテンツの代わりに tar アーカイブファイルをアップロードしていることを示します。

format 変数に利用できる値は、tartar.gztar.bz2 です。

PUT リクエストに指定するパスは、オブジェクトの場所と出力オブジェクト名のプレフィックスのために使用されます。

PUT リクエストに以下のパスを指定できます。

  • アカウント
  • オプション、特定のコンテナー
  • オプション、特定のオブジェクトのプレフィックス

例えば、tar アーカイブの 1 番目のオブジェクトが /home/file1.txt であり、パスに /v1/12345678912345/mybackup/castor/ を指定する場合、この処理により、12345678912345 アカウントの mybackup コンテナーに castor/home/file1.txt が作成されます。

自動展開用アーカイブの作成

tar ユーティリティーを使用して、tar アーカイブファイルを作成する必要があります。

通常のファイルをアップロードできますが、他の項目はアップロードできません (例えば、空のディレクトリーやシンボリックリンク)。

メンバーの名前を UTF-8 エンコードする必要があります。

アーカイブの自動展開機能は、これらの形式をサポートします。

  • POSIX.1-1988 Ustar 形式。

  • GNU tar 形式。ロングネーム、ロングリンク、スパース拡張を含む。

  • POSIX.1-2001 pax 形式。

    gzip や bzip2 を使用して、アーカイブを圧縮します。

    extract-archive クエリーパラメーターを使用して、形式を指定します。このパラメーターの有効な値は、tartar.gztar.bz2 です。

自動展開アーカイブの応答

Object Storage はリクエストを処理するとき、複数の副処理を実行します。すべての副処理が失敗したときでも、その処理は 201 Created 状態を返します。いくつかの副処理は、他が失敗しても、継続されるでしょう。応答ボディーを検査して、各自動展開アーカイブの副処理の結果を判断します。

Accept リクエストヘッダーを以下のどれかに設定して、応答形式を定義できます。

text/plain
プレーンテキスト形式。Accept ヘッダーを省略すると、text/plain になります。
application/json
JSON 形式。
application/xml
XML 形式。
text/xml
XML 形式。

以下の自動展開アーカイブファイルの例は、エラーなしの text/plain 応答ボディーを示します。

Number Files Created: 10
Errors:

以下の自動展開アーカイブファイルは、いくつかのエラーが発生している応答ボディーを示します。この例では、禁止文字列が使用されているオブジェクトに対して、400 Bad Request エラーが発生するよう、Object Storage が特定の文字列を拒否するよう設定されています。

Number Files Created: 8
Errors:
/v1/12345678912345/mycontainer/home/xx%3Cyy, 400 Bad Request
/v1/12345678912345/mycontainer/../image.gif, 400 Bad Request

以下の例は、エラーありの application/json 形式の応答です。

{
   "Number Files Created":1,
   "Errors":[
      [
         "/v1/12345678912345/mycontainer/home/xx%3Cyy",
         "400 Bad Request"
      ],
      [
         "/v1/12345678912345/mycontainer/../image.gif",
         "400 Bad Request"
      ]
   ]
}
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.