Swiftコマンドラインツールの使用ガイド

swiftツールは、OpenStack Object Storage (Swift) 環境と通信するためのコマンドライン ツールです。これにより、人々はさまざまな種類の操作を実行できるようになります。

特定のSwiftコマンドのヘルプを表示するには、次のように入力します。

$swift COMMAND --help

素早い使用法

Usage: swift [--version] [--help] [--os-help] [--snet] [--verbose]
             [--debug] [--info] [--quiet] [--auth <auth_url>]
             [--auth-version <auth_version> |
                 --os-identity-api-version <auth_version> ]
             [--user <username>]
             [--key <api_key>] [--retries <num_retries>]
             [--os-username <auth-user-name>] [--os-password <auth-password>]
             [--os-user-id <auth-user-id>]
             [--os-user-domain-id <auth-user-domain-id>]
             [--os-user-domain-name <auth-user-domain-name>]
             [--os-tenant-id <auth-tenant-id>]
             [--os-tenant-name <auth-tenant-name>]
             [--os-project-id <auth-project-id>]
             [--os-project-name <auth-project-name>]
             [--os-project-domain-id <auth-project-domain-id>]
             [--os-project-domain-name <auth-project-domain-name>]
             [--os-auth-url <auth-url>] [--os-auth-token <auth-token>]
             [--os-storage-url <storage-url>] [--os-region-name <region-name>]
             [--os-service-type <service-type>]
             [--os-endpoint-type <endpoint-type>]
             [--os-cacert <ca-certificate>] [--insecure]
             [--os-cert <client-certificate-file>]
             [--os-key <client-certificate-key-file>]
             [--no-ssl-compression]
             <subcommand> [--help] [<subcommand options>]

子命令:

  • delete

    コンテナまたはコンテナ内のオブジェクトを削除します。

  • download

    コンテナからオブジェクトをダウンロードします。

  • list

    アカウントをリストするコンテナまたはコンテナ オブジェクト。

  • post

    アカウント、コンテナー、またはオブジェクトのメタ情報を更新し、コンテナーが存在しない場合は作成します。

  • copy

    オブジェクトをコピーし、必要に応じてメタ情報を追加します

  • stat

    アカウント、コンテナ、またはオブジェクトに関する情報を表示します。

  • upload

    ファイルまたはディレクトリを指定されたコンテナにアップロードします。

  • capabilities

    クラスターの機能をリストします。

  • tempurl

    一時的な URL を作成します。

  • auth

    認証関連の環境変数を表示します。

迅速なオプションのパラメータ

  • --version

    プログラムのバージョン番号を表示して終了します

  • -h, --help

    このヘルプ メッセージを表示して終了します

  • --os-help

    OpenStack 認定オプションを表示します。

  • -s, --snet

    SERVICENET 内部ネットワークを使用します。

  • -v, --verbose

    詳細情報を印刷します。

  • --debug

    結果のステータスに関係なく、curl コマンドとすべての http クエリの結果を表示します。

  • --info

    curl コマンドの結果と、エラーを返したすべての http クエリを表示します。

  • -q, --quiet

    ステータス出力を抑制します。

  • -A AUTH, --auth=AUTH

    認証トークンのURLを取得します。

  • -V AUTH_VERSION, --auth-version=AUTH_VERSION, --os-identity-api-version=AUTH_VERSION

    認証に使用するバージョンを指定します。デフォルトはenv[ST_AUTH_VERSION]env[OS_AUTH_VERSION]env[OS_IDENTITY_API_VERSION]または 1.0 です。

  • -U USER, --user=USER

    認証トークンのユーザー名を取得します。ユーザー名は一重引用符で囲むのが最適です。これは、Tempauth 認証されたテナントを使用する場合に必要です。

  • -K KEY, --key=KEY

    認証トークンのキーを取得します。

  • -R RETRIES, --retries=RETRIES

    失敗した接続を再試行する回数。

  • --insecure

    swiftclient が SSL 証明書を検証せずにサーバーにアクセスできるようにします。デフォルトはenv[SSWIFTCLIENT_INSECURE](true有効に設定) です。

  • --no-ssl-compression

    このオプションは非推奨であり、現在は使用されていません。デフォルトでは、システム SSL ライブラリは SSL 圧縮を無効にする必要があります。

  • --prompt

    ユーザーにパスワードの入力を求めるプロンプトを表示します。パスワードは、 、または環境変数によって提供されるパスワードを--keyオーバーライドします。--os-password

認証

このセクションでは、Swift Object Storage での認証のオプションについて説明します。各認定バージョンに必要なオプションの組み合わせについては以下で詳しく説明しますが、これらは認定を成功させるために利用できるオプションの一部にすぎません。これらは最も一般的で推奨される組み合わせです。

認定バージョンと資格情報の詳細は、ストレージ プロバイダーから取得する必要があります。これらの詳細により、以下のどの認定セクションがストレージ アカウントへの接続を許可する可能性が最も高いかが明確になります。

キーストーン v3

swift --os-auth-url https://api.example.com:5000/v3 --auth-version 3 \
      --os-project-name project1 --os-project-domain-name domain1 \
      --os-username user --os-user-domain-name domain1 \
      --os-password password list

swift --os-auth-url https://api.example.com:5000/v3 --auth-version 3 \
      --os-project-id 0123456789abcdef0123456789abcdef \
      --os-user-id abcdef0123456789abcdef0123456789 \
      --os-password password list

次の環境変数の組み合わせを設定することにより、コマンド ラインで上記のオプションを手動で指定することを回避できます。

ST_AUTH_VERSION=3
OS_USERNAME=user
OS_USER_DOMAIN_NAME=domain1
OS_PASSWORD=password
OS_PROJECT_NAME=project1
OS_PROJECT_DOMAIN_NAME=domain1
OS_AUTH_URL=https://api.example.com:5000/v3

ST_AUTH_VERSION=3
OS_USER_ID=abcdef0123456789abcdef0123456789
OS_PASSWORD=password
OS_PROJECT_ID=0123456789abcdef0123456789abcdef
OS_AUTH_URL=https://api.example.com:5000/v3

キーストーン v2

swift --os-auth-url https://api.example.com:5000/v2.0 \
      --os-tenant-name tenant \
      --os-username user --os-password password list

次の環境変数を設定すると、コマンド ラインで上記のオプションを手動で指定することを回避できます。

ST_AUTH_VERSION=2.0
OS_USERNAME=user
OS_PASSWORD=password
OS_TENANT_NAME=tenant
OS_AUTH_URL=https://api.example.com:5000/v2.0

従来の認証システム

Swift は、他の任意の数の認証システムと連携するように構成できますが、このドキュメントでは説明しません。ストレージ プロバイダーが Keystone のアクセス トークンを提供していない場合は、必要なオプションの手順についてストレージ プロバイダーに問い合わせてください。ほとんどの場合、次のようにオプションを指定する必要があります。

swift -A https://api.example.com/v1.0 -U user -K api_key list

次の環境変数を設定すると、コマンド ラインで上記のオプションを手動で指定することを回避できます。

ST_AUTH_VERSION=1.0
ST_AUTH=https://api.example.com/v1.0
ST_USER=user
ST_KEY=key

完全に別個の認証システムを使用する必要がある場合もあります。その場合、swiftclientトークンは要求できません。この場合、別の認証リクエストを作成し、以下に示すトークンとストレージ URL オプションを使用してストレージにアクセスする必要があります。

swift --os-auth-token 6ee5eb33efad4e45ab46806eac010566 \
      --os-storage-url https://10.1.5.2:8080/v1/AUTH_ced809b6a4baea7aeab61a \
      list

説明する

残った環境変数は、承認が失敗したときに混乱を引き起こす一般的な原因です。

CLIコマンド

迅速な認証

Usage: swift auth

認証変数をシェルに適した形式で表示します。実行するコマンドは、ストレージ URL と認証トークンを:OS_storage_URLにエクスポートします自動認証のためにrunco​​m ファイル (例: ) に追加するコマンド: OS_auth_tokenswift auth~/.bashrc/etc/profileswift auth -v -U test:tester -K testing

素早いステータス

Usage: swift stat [--lh] [--header <header:value>]
                  [<container> [<object>]]

指定されたパラメーター (存在する場合) に基づいて、アカウント、コンテナー、またはオブジェクトの情報を表示します。詳細モードでは、ストレージ URL と認証トークンも表示されます。

位置パラメータ:

  • [container]

    統計を取得するコンテナの名前。

  • [object]

    カウントするオブジェクトの名前。

オプションのパラメータ:

  • --lh

    のようなls -lh人間が判読できる形式でのレポート サイズ。

  • -H, --header <header:value>

    統計用のカスタム リクエスト ヘッダーを追加します。

迅速なリスト

Usage: swift list [--long] [--lh] [--totals] [--prefix <prefix>]
                  [--delimiter <delimiter>] [--header <header:value>]
                  [<container>]

アカウント内のコンテナーまたはコンテナー内のオブジェクトをリストします。-p <prefix>または、--prefix <prefix>その接頭辞で始まる項目のみをリストするオプション。-d <delimiter>または、--delimiter <delimiter>指定された区切り文字を使用してプロジェクトを集約するオプション (コンテナーのリストのみ) (その意味については、 OpenStack Swift の一般ドキュメントhttps://docs.openstack.org/swift/latest/を参照してください)。

-lおよびオプションは、人間が判読できる形式 (例: 、 など) でサイズを提供する と同様に、より詳細--lhな情報を提供しますls -l後の 2 つのスイッチは、表示される詳細を取得するために、リストされたコンテナーまたはオブジェクトの数に比例して、より多くのオーバーヘッドを使用します。ls -lh3K12M

位置パラメータ:

  • [container]

    オブジェクトがリストされるコンテナーの名前。

オプションのパラメータ:

  • -l, --long

    に似た長いリスト形式ls -l

  • --lh

    のようなls -lh人間が判読できる形式でのレポート サイズ。

  • -t, --totals

    -lまたは と一緒に--lh使用して、合計のみを報告します。

  • -p <prefix>, --prefix <prefix>

    接頭辞で始まる項目のみがリストされます。

  • -d <delim>, --delimiter <delim>

    指定された区切り文字を使用して項目を要約します。コンテナのみに適用されます。その意味を理解するには、OpenStack Swift API ドキュメントを参照してください。

  • -H, --header <header:value>

    リスト用のカスタム リクエスト ヘッダーを追加します。

迅速なアップロード

Usage: swift upload [--changed] [--skip-identical] [--segment-size <size>]
                    [--segment-container <container>] [--leave-segments]
                    [--object-threads <thread>] [--segment-threads <threads>]
                    [--header <header>] [--use-slo] [--ignore-checksum]
                    [--object-name <object-name>]
                    <container> <file_or_directory> [<file_or_directory>] [...]

残りのパラメータで指定されたファイルとディレクトリを指定されたコンテナにアップロードします。-cまたは、--changed最後のアップロード以降に変更されたファイルのみをアップロードするオプションです。ファイルをアップロードして名前付きオブジェクトを使用するか、ディレクトリをアップロードしてオブジェクトのプレフィックスとして使用する--object-name <object-name>オプションです。ファイルの名前が の場合、クライアントは標準入力から内容を読み取ります。この場合、オブジェクトの名前を設定する必要があり、他のファイルを指定することはできません。またはおよびもオプションです (詳細については を参照してください)。<object-name><object-name>---object-name-S <size>--segment-size <size>--leave-segments--help

位置パラメータ:

  • <container>

    アップロード先のコンテナの名前。

  • <file_or_directory>

    アップロードするファイルまたはディレクトリの名前。複数のアップロードの場合は複数回指定します。

オプションのパラメータ:

  • -c, --changed

    前回のアップロード以降に変更されたファイルのみをアップロードしてください。

  • --skip-identical

    両側で同一のファイルをアップロードすることはスキップします。

  • -S, --segment-size <size>

    (バイト単位) 以下のマルチパート アップロード ファイルをアップロードし、元のファイルであるかのようにすべてのパートをダウンロードする「マニフェスト」ファイルを作成します。

  • --segment-container <container>

    指定されたコンテナにパーツをアップロードします。指定しない場合、メイン リストの汚染を避けるために、セグメントは _segments コンテナにアップロードされます。

  • --leave-segments

    (上書きの場合に備えて) マニフェスト オブジェクトの古いセグメントのみを保持したいことを示します。

  • --object-threads <threads>

    完全なオブジェクトをアップロードするために使用されるスレッドの数。デフォルト値は 10 です。

  • --segment-threads <threads>

    オブジェクトセグメントのアップロードに使用されるスレッドの数。デフォルト値は 10 です。

  • -H, --header <header:value>

    カスタムリクエストヘッダーを追加します。このオプションは繰り返すことができます。例: -H "content-type:text/plain" -H "Content-Length:4000"

  • --use-slo

    とともに使用すると–-segment size、デフォルトの動的ラージ オブジェクトの代わりに静的ラージ オブジェクトが作成されます。

  • --object-name <object-name>

    ファイルをアップロードしてオブジェクトに名前を付けるか、ディレクトリをアップロードしてフォルダー名の代わりにオブジェクトのプレフィックスとして使用します。

    ファイルをアップロードして<object-name>名前付きオブジェクトを使用するか、ディレクトリをアップロードして<object-name>フォルダー名の代わりにオブジェクトのプレフィックスとして使用します。

  • --ignore-checksum

    アップロードのチェックサム検証をオフにします。

迅速な投稿

Usage: swift post [--read-acl <acl>] [--write-acl <acl>] [--sync-to <sync-to>]
                  [--sync-key <sync-key>] [--meta <name:value>]
                  [--header <header>]
                  [<container> [<object>]]

指定されたパラメーターに基づいて、アカウント、コンテナー、またはオブジェクトのメタ情報を更新します。コンテナーが見つからない場合はswiftclient自動的に作成されますが、これはアカウントとオブジェクトには当てはまりません。コンテナでは、-r <read-acl>(または--read-acl <read-acl>) および-w <write-acl>(または--write-acl <write-acl>) オプションも使用できます。-mまたは、フォームに設定するユーザー メタデータ項目を--meta定義するために、アカウント、コンテナー、およびオブジェクトで許可されるオプション。Name:Valueこのオプションは繰り返すことができます。例えば:post -m Color:Blue -m Size:Large

ACL 形式の詳細については、ドキュメント「ACL」を参照してください。

位置パラメータ:

  • [container]

    送信先のコンテナの名前。

  • [object]

    公開するオブジェクトの名前。

オプションのパラメータ:

  • -r, --read-acl <acl>

    コンテナの読み取りACL。

    ACL 構文の簡単な概要: .r:*.r:-.example.com.r:www.example.comaccount1(v1.0 Identity API のみサポート)、account1:*account2:user2(v2.0 以降の Identity API)。

  • -w, --write-acl <acl>

    コンテナの書き込みACL。

    ACL 構文の簡単な概要: account1v1.0 Identity API)、、account1:*( account2:user2v2.0+ Identity API) のみがサポートされています。

  • -t, --sync-to <sync-to>

    コンテナの同期とマルチクラスタのレプリケーションに使用されます。

  • -k, --sync-key <sync-key>

    コンテナの同期キー。マルチクラスタレプリケーションに使用されます。

  • -m, --meta <name:value>

    メタデータ項目を設定します。このオプションは重複する可能性があります。例えば:-m Color:Blue -m Size:Large

  • -H, --header <header:value>

    カスタムリクエストヘッダーを追加します。このオプションは繰り返すことができます。例: -H "content-type:text/plain" -H "Content-Length:4000"

迅速なダウンロード

Usage: swift download [--all] [--marker <marker>] [--prefix <prefix>]
                      [--output <out_file>] [--output-dir <out_directory>]
                      [--object-threads <threads>] [--ignore-checksum]
                      [--container-threads <threads>] [--no-download]
                      [--skip-identical] [--remove-prefix]
                      [--header <header:value>] [--no-shuffle]
                      [<container> [<object>] [...]]

アカウント内のすべて ( を使用--all)、コンテナー内のすべて、または指定されたパラメーターに基づいたオブジェクトのリストをダウンロードします。単一オブジェクトのダウンロードの場合、-o <filename>または--output <filename>オプションを使用して出力を特定のファイルにリダイレクトするか、-オプションを使用して出力を stdout にリダイレクトできます。--ignore-checksumチェックサム検証をオフにするオプションです。-H [--header <name:value>]オプションのヘッダーは、反復可能な cURL オプションを使用して指定できます。--ignore-mtimeオブジェクトのx-object-meta-mtimeメタデータ エントリ(存在する場合) を無視し、代わりに新しい time 値と mtime 値を使用してダウンロードされたファイルを作成します。

位置パラメータ:

  • <container>

    ダウンロード元のコンテナの名前。アカウント全体をダウンロードする場合は、これを省略して を指定します-all

  • <object>

    ダウンロードするオブジェクトの名前。複数のオブジェクトに対して複数回指定されます。このオプションを省略すると、コンテナからすべてのオブジェクトがダウンロードされます。

オプションのパラメータ:

  • -a, --all

    このアカウントのすべてのコンテンツを本当にダウンロードしたいことを示します。

  • -m, --marker <marker>

    コンテナまたはアカウントのダウンロードを開始するときに使用するフラグ。

  • -p, --prefix <prefix>

    で始まるアイテムのみをダウンロードします

  • -r, --remove-prefix

    --prefix <prefix>のオプションのフラグ。このオプションを使用して、

  • -o, --output <out_file>

    単一ファイルのダウンロードの場合は、出力を にストリーミングします<out_file>標準出力にリダイレクトするには-asを指定します。<out_file>

  • -D, --output-dir <out_directory>

    オブジェクトを保存するためのオプションのディレクトリ。デフォルトでは、すべてのオブジェクトが現在のディレクトリに再作成されます。

  • --object-threads <threads>

    オブジェクトのダウンロードに使用されるスレッドの数。デフォルト値は 10 です。

  • --container-threads <threads>

    コンテナーのダウンロードに使用されるスレッドの数。デフォルト値は 10 です。

  • --no-download

    ダウンロードを実行しますが、実際にはディスクに何も書き込みません。

  • -H, --header <header:value>

    Rangeまたは などのカスタム要求ヘッダーをクエリに追加しますIf-Matchこのオプションは繰り返すことができます。例:--header "content-type:text/plain"

  • --skip-identical

    両側で同一のファイルのダウンロードをスキップします。

  • --ignore-checksum

    ダウンロードのチェックサム検証をオフにします。

  • --no-shuffle

    デフォルトでは、完全なアカウントまたはコンテナをダウンロードする場合、複数のクライアントが同じオブジェクト セットの同時ダウンロードを実行している場合 (たとえば、複数のサーバーへの夜間の自動ダウンロード スクリプト)、単一ドライブの負荷を軽減するためにダウンロード順序がランダム化されます。 。オブジェクト ストレージにリストされている順序でダウンロード ジョブをスレッド プールに送信するには、このオプションを有効にします。

迅速な削除

Usage: swift delete [--all] [--leave-segments]
                    [--object-threads <threads>]
                    [--container-threads <threads>]
                    [--header <header:value>]
                    [<container> [<object>] [...]]

アカウント内のすべて ( を使用--all)、コンテナー内のすべて、または指定されたパラメーターに基づいたオブジェクトのリストを削除します。--leave-segmentsオプションが指定されていない限り、マニフェスト オブジェクトのセクションも削除されます。

位置パラメータ:

  • [<container>]

    削除するコンテナの名前。

  • [<object>]

    削除するオブジェクトの名前。複数のオブジェクトに対して複数回指定されます。

オプションのパラメータ:

  • -a, --all

    すべてのコンテナとオブジェクトを削除します。

  • --leave-segments

    インベントリ オブジェクトのセグメントは削除しないでください。

  • -H, --header <header:value>

    オブジェクトまたはコンテナ全体を削除するためのカスタム リクエスト ヘッダーを追加します。

  • --object-threads <threads>

    オブジェクトの削除に使用されるスレッドの数。デフォルト値は 10 です。

  • --container-threads <threads>

    コンテナーの削除に使用されるスレッドの数。デフォルト値は 10 です。

迅速なコピー

Usage: swift copy [--destination </container/object>] [--fresh-metadata]
                  [--meta <name:value>] [--header <header>] <container>
                  <object> [<object>] [...]

オブジェクトを新しい宛先にコピーするか、ユーザー メタデータをオブジェクトに追加します。指定されたオプションに応じて、post コマンドの代わりに既存のメタデータを保存できます。コピー先を設定する形式--destinationのオプションです。/container/object設定されていない場合、オブジェクトはそれ自体にコピーされるため、メタデータの追加に役立ちます。既存のユーザー メタデータを持たないオブジェクトは-Mまたはオプションを使用してコピーでき、フォームに設定するユーザー メタデータ項目はまたはオプションを使用して定義されます。このオプションは繰り返すことができます。例: --fresh-metadata-m--metaName:Valuecopy -m Color:Blue -m Size:Large

位置パラメータ:

  • <container>

    コピー元のコンテナの名前。

  • <object>

    コピーするオブジェクトの名前。複数のオブジェクトに対して複数回指定します

オプションのパラメータ:

  • -d, --destination </container[/object]>

    ターゲット オブジェクトのコンテナと名前。ターゲット オブジェクトの名前は省略でき、ソース オブジェクトの名前と同じにすることができます。複数のオブジェクトのオブジェクト名をターゲットに指定することは無効です。

  • -M, --fresh-metadata

    既存のメタデータなしでオブジェクトをコピーします。設定しない場合、メタデータは保持されるか追加されます。

  • -m, --meta <name:value>

    メタデータ項目を設定します。このオプションは繰り返すことができます。例:-m Color:Blue -m Size:Large

  • -H, --header <header:value>

    カスタムリクエストヘッダーを追加します。このオプションは繰り返すことができます。例: -H "content-type:text/plain" -H "Content-Length:4000"

迅速な機能

Usage: swift capabilities [--json] [<proxy_url>]

クラスターの機能を表示します。出力には、アクティブ化された Swift ミドルウェアと各ミドルウェアの関連オプションのリストが含まれます。さらに、このコマンドは Swift コアに関連するオプションも表示します。オプションが指定されていない場合はproxy-url、認証後に取得されたストレージ URL が使用されますproxy-url

オプションの位置パラメータ:

  • <proxy_url>

    機能を取得するために使用されるクラスターのプロキシ URL。

  • --json

    クラスター関数を JSON 形式で出力します。

迅速なテンプール

Usage: swift tempurl [--absolute] [--prefix-based]
                     <method> <seconds> <path> <key>

Swift オブジェクトの一時 URL を生成します。オプションは、この一時 URL (通常は または )methodを許可する HTTP メソッドを設定しますオプションは、一時 URL の有効期間を設定します。URL が有効になるまでの秒数を表す整数として指定できます。または、 に渡された場合は、一時 URL が期限切れになる Unix タイムスタンプとして指定できます。ただし、さらに、次のいずれかの形式で ISO 8601 タイムスタンプとして指定することもできます。GETPUTtimetime--absolutetime

  1. 完全な日付: YYYY-MM-DD (例: 1997-07-16)
  2. 完全な日付と時、分、秒: YYYY-MM-DDThh:mm:ss (例: 1997-07-16T19:20:30)
  3. 完全な日付と UTC 指定子付きの時、分、秒: YYYY-MM-DDThh:mm:ssZ (例: 1997-07-16T19:20:30Z)

UTC インジケーター (つまり Z) を指定しない場合、タイムスタンプはローカル タイム ゾーンを使用して生成されることに注意してください。日付のみを指定した場合、使用される時間部分は と等しくなります00:00:00

pathオプションは、Swift オブジェクトのフルパスを設定します。例: /v1/AUTH_account/c/okeyオプションは、Swift クラスターに設定される一時的な URL キーです。キーを設定するには、 を実行しますswift post -m "Temp-URL-Key: <your secret key>"一時的なプレフィックスベースの URL を生成するには、--prefix-basedオプションを使用します。この URL には接頭辞付きのパスが含まれます。URL を共有する前に、パス部分の最後 (クエリ部分の前) に必要なオブジェクト名を忘れずに追加してください。このオプションを使用すると、--iso8601URL で ISO 8601 UTC タイムスタンプを使用できます。

位置パラメータ:

  • <method>

    この一時 URL に許可される HTTP メソッド。通常GET、 またはPUT

  • <seconds>

    一時 URL の有効期間 (秒単位)。または、渡された場合は--absolute、一時 URL の有効期限が切れる Unix タイムスタンプ。

  • <path>

    Swift オブジェクトへのフルパス。例: /v1/AUTH_account/c/oまたはhttp://saio:8080/v1/AUTH_account/c/o

  • <key>

    Swift クラスターに設定された秘密の一時 URL キー。キーを設定するには、「swift post -m “Temp-URL-Key:b3968d0207b54ece87cccc06515a89d4”」を実行します。

    Swift クラスターに設定された一時 URL キー。キーを設定するには、次を実行します。swift post -m "Temp-URL-Key:b3968d0207b54ece87cccc06515a89d4"

オプションのパラメータ:

  • --absolute

    位置引数を将来の秒数ではなく Unix タイムスタンプとして解釈します。

  • --prefix-based

    存在する場合、プレフィックスベースの tempURL が生成されます。

このセクションでは、Swift コマンド ラインの使用例をいくつか示します。例をできるだけ短くするために、これらの例では、関連する認証オプションが環境変数を使用して設定されていることを前提としています。Swift コマンドラインで使用できるコマンドとオプションの完全なリストは、次のコマンドを実行することで取得できます。

> swift --help
> swift <command> --help

簡単な例

既存の Swift コンテナを一覧表示します。

> swift list

container_1

新しいコンテナを作成します。

> swift post TestContainer

オブジェクトをコンテナにアップロードします。

> swift upload TestContainer testSwift.txt

testSwift.txt

コンテナの内容を一覧表示します。

> swift list TestContainer

testSwift.txt

オブジェクトを新しい宛先にコピーします。

> swift copy -d /DestContainer/testSwift.txt SourceContainer testSwift.txt

SourceContainer/testSwift.txt copied to /DestContainer/testSwift.txt

コンテナからオブジェクトを削除します。

> swift delete TestContainer testSwift.txt

testSwift.txt

コンテナを削除します:

> swift delete TestContainer

TestContainer

認証関連の認証変数をシェルに適した形式で表示します。

> swift auth

export OS_STORAGE_URL=http://127.0.0.1:8080/v1/AUTH_bf5e63572f7a420a83fcf0aa8c72c2c7
export OS_AUTH_TOKEN=c597015ae19943a18438b52ef3762e79

コンテナからオブジェクトをダウンロードします。

> swift download TestContainer testSwift.txt

testSwift.txt [auth 0.028s, headers 0.045s, total 0.045s, 0.002 MB/s]

説明する

オブジェクトをコンテナにアップロードするには、現在の作業ディレクトリがファイルのある場所であるか、ファイルへのフルパスが指定されている必要があります。つまり、 --object-name は、ファイルをアップロードしてオブジェクトに名前を付けるか、ディレクトリをアップロードしてオブジェクトのプレフィックスとして使用するオプションです。ファイルへの完全なパスが指定されている場合、その完全なパスはアップロードされたオブジェクトの名前になります。

例えば:

> swift upload TestContainer /home/swift/testSwift/testSwift.txt

home/swift/testSwift/testSwift.txt

> swift list TestContainer

home/swift/testSwift/testSwift.txt

より複雑な例

Swift には、単一オブジェクトのサイズ制限が 5GiB あります。これより大きなファイルをアップロードするには、より小さなセグメントで構成される大きなオブジェクトを作成する必要があります。次の例は、大きなビデオ ファイルを 1 GiB セグメントの静的ラージ オブジェクトとしてアップロードする方法を示しています。

> swift upload videos --use-slo --segment-size 1G myvideo.mp4

myvideo.mp4 segment 8
myvideo.mp4 segment 4
myvideo.mp4 segment 2
myvideo.mp4 segment 7
myvideo.mp4 segment 0
myvideo.mp4 segment 1
myvideo.mp4 segment 3
myvideo.mp4 segment 6
myvideo.mp4 segment 5
myvideo.mp4

このコマンドは、フラグメントを という名前のコンテナーにアップロードし、コンテナー内のオブジェクト全体をvideos_segments記述するマニフェスト ファイルを作成します。videosラージ オブジェクトの詳細については、こちらのドキュメントを参照してください。

> swift list videos

myvideo.mp4

> swift list videos_segments

myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000000
myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000001
myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000002
myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000003
myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000004
myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000005
myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000006
myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000007
myvideo.mp4/slo/1460229233.679546/9341553868/1073741824/00000008

まずキーを設定し、次に Swift オブジェクトの一時 URL を生成する必要があります。

> swift post -m "Temp-URL-Key:b3968d0207b54ece87cccc06515a89d4"

> swift tempurl GET 6000 /v1/AUTH_bf5e63572f7a420a83fcf0aa8c72c2c7\
  /firstcontainer/clean.sh b3968d0207b54ece87cccc06515a89d4

/v1/AUTH_/firstcontainer/clean.sh?temp_url_sig=\
9218fc288cc09e5edd857b6a3d43cf2122b906dc&temp_url_expires=1472203614

おすすめ

転載: blog.csdn.net/QTM_Gitee/article/details/130945109