upload

Prev Next

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 ファイルまたはディレクトリのパス
  • スペースで区切って複数入力可能
  • -入力時、標準入力から内容を読み込む (--object-nameは必ず入力)

任意オプション

uploadの任意オプションです。指定しない場合、オプションにはデフォルト値が適用されます。

オプション タイプ 必須の有無 説明
--object-name String Optional オブジェクト名
  • ディレクトリのアップロード時にはオブジェクト名の接頭辞として使用
--segment-size Integer Optional 分割アップロードするセグメントサイズ (Byte)
  • 指定したサイズ以下にファイルを分割してアップロードし、マニフェストファイルを作成
--segment-container String Optional セグメントをアップロードするコンテナ名
  • 未入力の場合、<container>_segmentsというコンテナが自動的に作成され、アップロード
--use-slo Boolean Optional --segment-sizeと併せて使用すると Static Large Objectを作成
  • クラスタが SLOをサポートしている場合、デフォルトで適用されるため、指定は不要
--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 オブジェクトのアップロードに使用するスレッド数
  • デフォルト: 10
--segment-threads Integer Optional セグメントアップロードに使用するスレッド数
  • デフォルト: 10
--meta String Optional メタデータ項目
  • name:value形式で入力
--header String Optional アップロードリクエストに使用するユーザー定義ヘッダ
  • header:value形式で入力

共通オプション

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