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
にエクスポートします。自動認証のためにruncom ファイル (例: ) に追加するコマンド: 。OS_auth_token
swift auth
~/.bashrc
/etc/profile
swift 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 -lh
3K
12M
位置パラメータ:
-
[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.com
、account1
(v1.0 Identity API のみサポート)、account1:*
、account2:user2
(v2.0 以降の Identity API)。 -
-w, --write-acl <acl>
コンテナの書き込みACL。
ACL 構文の簡単な概要:
account1
v1.0 Identity API)、、account1:*
(account2:user2
v2.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
--meta
Name:Value
copy -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 タイムスタンプとして指定することもできます。GET
PUT
time
time
--absolute
time
- 完全な日付: YYYY-MM-DD (例: 1997-07-16)
- 完全な日付と時、分、秒: YYYY-MM-DDThh:mm:ss (例: 1997-07-16T19:20:30)
- 完全な日付と UTC 指定子付きの時、分、秒: YYYY-MM-DDThh:mm:ssZ (例: 1997-07-16T19:20:30Z)
UTC インジケーター (つまり Z) を指定しない場合、タイムスタンプはローカル タイム ゾーンを使用して生成されることに注意してください。日付のみを指定した場合、使用される時間部分は と等しくなります00:00:00
。
path
オプションは、Swift オブジェクトのフルパスを設定します。例: /v1/AUTH_account/c/o
。key
オプションは、Swift クラスターに設定される一時的な URL キーです。キーを設定するには、 を実行しますswift post -m "Temp-URL-Key: <your secret key>"
。一時的なプレフィックスベースの URL を生成するには、--prefix-based
オプションを使用します。この URL には接頭辞付きのパスが含まれます。URL を共有する前に、パス部分の最後 (クエリ部分の前) に必要なオブジェクト名を忘れずに追加してください。このオプションを使用すると、--iso8601
URL で 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