Classic/VPC環境で利用できます。
指定したファイルまたはディレクトリをコンテナ(バケット)にアップロードします。
--segment-sizeを使用して分割アップロードすると、セグメントはマニフェストとは別のコンテナに保存されます。--segment-containerを入力しないと、<container>_segmentsというコンテナが自動的に作成されます。ダウンロードはマニフェストをアップロードしたコンテナ内で行われます。
構文
upload構文は次の通りです。
swift upload \
<container> \
<file-or-directory> \
[--object-name <object-name>] \
[--segment-size <size>] \
[--segment-container <container>] \
[--use-slo] \
[--use-dlo] \
[--leave-segments] \
[--changed] \
[--skip-identical] \
[--skip-container-put] \
[--ignore-checksum] \
[--object-threads <threads>] \
[--segment-threads <threads>] \
[--meta <name:value>] \
[--header <header:value>]
オプション
uploadの実行時に指定できるオプションについて説明します。
必須オプション
uploadの必須オプションです。
| オプション | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
<container> |
String | Required | コンテナ名 |
<file-or-directory> |
List | Required | ファイルまたはディレクトリのパス
|
任意オプション
uploadの任意オプションです。指定しない場合、オプションにはデフォルト値が適用されます。
| オプション | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
--object-name |
String | Optional | オブジェクト名
|
--segment-size |
Integer | Optional | 分割アップロードするセグメントサイズ (Byte)
|
--segment-container |
String | Optional | セグメントをアップロードするコンテナ名
|
--use-slo |
Boolean | Optional | --segment-sizeと併せて使用すると Static Large Objectを作成
|
--use-dlo |
Boolean | Optional | --segment-sizeと併せて使用する場合、Dynamic Large Objectを作成 |
--leave-segments |
Boolean | Optional | 上書き時に以前のマニフェストオブジェクトのセグメントを保持 |
--changed |
Boolean | Optional | 前回のアップロード以降に変更されたファイルのみアップロード |
--skip-identical |
Boolean | Optional | ローカルファイルとオブジェクトが同一の場合、アップロードしない |
--skip-container-put |
Boolean | Optional | コンテナが既に存在するとみなし、自動作成しない |
--ignore-checksum |
Boolean | Optional | アップロード時にチェックサム検証を無効化 |
--object-threads |
Integer | Optional | オブジェクトのアップロードに使用するスレッド数
|
--segment-threads |
Integer | Optional | セグメントアップロードに使用するスレッド数
|
--meta |
String | Optional | メタデータ項目
|
--header |
String | Optional | アップロードリクエストに使用するユーザー定義ヘッダ
|
共通オプション
swiftコマンドで共通して使用するオプションについては、Archive Storageのオプションをご参照ください。
例
アップロードリクエストが成功すると、アップロードされたオブジェクト名が出力されます。
コマンド
1つのファイルをアップロードするコマンドの例は次の通りです。
swift upload test-container-01 sample.txt
ディレクトリ全体をアップロードするコマンドの例は次の通りです。
swift upload test-container-01 docs
大容量ファイルをセグメントに分割し、別のコンテナにアップロードするコマンドの例は次の通りです。
swift upload test-container-01 large.bin \
--segment-size 1048576 \
--segment-container test-segments-01
オブジェクト名を指定し、メタデータを併せて設定するコマンドの例は次の通りです。
swift upload test-container-01 sample.txt \
--object-name renamed.txt \
--meta Purpose:Documentation
出力
1つのファイルをアップロードする出力の例は次の通りです。
sample.txt
ディレクトリ全体をアップロードする出力の例は次の通りです。
docs/report.txt
大容量ファイルをセグメントに分割してアップロードする出力の例は次の通りです。
large.bin segment 4
large.bin segment 2
large.bin segment 0
large.bin segment 3
large.bin segment 1
large.bin
オブジェクト名前を指定し、メタデータを併せて設定してアップロードする出力の例は次の通りです。
renamed.txt