Object Storage Service (OSS) は、階層型ファイルシステムとしてではなく、フラットな構造のオブジェクトとしてデータを格納します。OSS のディレクトリは、名前がスラッシュ (/) で終わるオブジェクトです。オブジェクトを整理しやすくするために、OSS ではディレクトリパスとして機能する共通プレフィックスの下にオブジェクトをグループ化できます。
次の表は、OSS ツール全体でのディレクトリのアップロードとダウンロードの対応状況をまとめたものです。
| ツール | ディレクトリのアップロード | ディレクトリのダウンロード |
|---|
| OSS コンソール | 対応 (ドラッグアンドドロップ) | 直接は非対応。オブジェクトを個別にダウンロード |
| ossbrowser | 対応 (クリックまたはドラッグ) | 対応 |
| ossutil | 対応 (-r オプション) | 対応 (-r オプション) |
| OSS SDK | 直接は非対応。共有プレフィックスを使用してオブジェクトをアップロード | 直接は非対応。オブジェクトをリスト化して個別にダウンロード |
OSS コンソールの使用
ディレクトリのアップロード
ディレクトリをアップロードエリアにドラッグします。ディレクトリ構造は OSS に保持されます。詳細については、「オブジェクトのアップロード」をご参照ください。
ディレクトリのダウンロード
OSS コンソールは、ディレクトリの直接ダウンロードには対応していません。代わりに、オブジェクトを個別にローカルディレクトリにダウンロードします。詳細については、「オブジェクトのダウンロード」をご参照ください。
ossbrowser の使用
ディレクトリのアップロード
対象のバケットまたはディレクトリで、[フォルダー]共通操作 をクリックし、アップロードするディレクトリを選択します。または、ディレクトリを ossbrowser にドラッグします。詳細については、「ossbrowser の使用方法」をご参照ください。
ディレクトリのダウンロード
ディレクトリの操作列で、[ダウンロード] をクリックします。詳細については、「ossbrowser の使用」、「」、および「一般的な操作」をご参照ください。
ossutil の使用
ディレクトリのアップロード
ディレクトリをアップロードする場合は、-r オプションを指定します。詳細については、「オブジェクトのアップロード」をご参照ください。
ディレクトリのダウンロード
ディレクトリをダウンロードする際には、-r オプションを指定します。詳細については、「オブジェクトのダウンロード」をご参照ください。
OSS SDK の使用
OSS SDK は、単一の操作としてのディレクトリのアップロードまたはダウンロードには対応していません。代わりに、次のアプローチを使用してください。
ディレクトリのアップロード
複数のローカルファイルを同じ OSS ディレクトリにアップロードするには、すべてのオブジェクト名に共有プレフィックスを設定し、区切り文字としてスラッシュ (/) を使用します。
たとえば、example1.txt、example2.txt、example3.txt を dir/ ディレクトリにアップロードするには、オブジェクト名を dir/example1.txt、dir/example2.txt、dir/example3.txt に設定します。
多言語のサンプルコードについては、「概要」をご参照ください。
ディレクトリのダウンロード
OSS ディレクトリ内のすべてのオブジェクトをローカルパスにダウンロードするには、状況に合ったアプローチを選択してください。
オブジェクト名がわかっている場合:各オブジェクトのオブジェクト名とローカルパスを明示的に設定します。たとえば、folder/ ディレクトリから example1.jpg と example2.jpg を local/folder/ にダウンロードするには、オブジェクト名を folder/example1.jpg と folder/example2.jpg に設定し、ローカルパスを local/folder/example1.jpg と local/folder/example2.jpg に設定します。
オブジェクト名がわからない場合:GetBucket(ListObjects) を呼び出して、ディレクトリプレフィックス配下のすべてのオブジェクトをリスト化し、各オブジェクトを対応するローカルパスにダウンロードします。
多言語のサンプルコードについては、「概要」をご参照ください。