ossutilには、高レベルコマンド、APIレベルコマンド、ヘルパーコマンドの3種類のコマンドがあります。
コマンド構造
ossutilは、コマンドタイプに応じて、次のコマンド構造を使用します。
ossutil command [argument] [flags]
ossutil command subcommond [argument] [flags]
ossutil topic
argument: 引数 引数はstring型です。
flags: オプション。 オプションは、
-o[=value] または-o [ value]
の短縮形式で指定することも、-- options[=value] または -- options[ value]
の完全形式で指定することもできます。 排他オプションを複数回指定した場合、最後の値のみが有効になります。
例:
上位コマンド:
ossutil cat oss:// bucket/object
マルチレベルコマンド:
ossutil api get-bucket-cors -- bucket bucketexample
ヘルパーコマンド:
ossutil filter
コマンド
ossutilは3種類のコマンドを提供します。
高レベルのコマンド
高レベルコマンドは、バケットの作成、バケットの削除、データのコピー、オブジェクト属性の変更など、一般的なバケットとオブジェクトのタスクを実行します。
コマンド
説明
バケットを作成します。
バケットを削除します。
指定されたバケットまたはディレクトリ (プレフィックス) のストレージサイズを照会します。
Displays the description of a bucket or object.
名前がスラッシュ文字 (
/
) で終わるオブジェクトを作成します。追加可能なオブジェクトにコンテンツを追加します。
オブジェクトコンテンツを標準出力に送信します。
Lists buckets or objects.
オブジェクトのアップロード、ダウンロード、またはコピー。
オブジェクトを削除します。
オブジェクト属性を設定します。
オブジェクトの署名付きURLを生成します。
凍結オブジェクトを復元します。
オブジェクトを指定したバージョンに戻します。
ディレクトリまたはオブジェクトをソースから宛先に同期します。
ファイルまたはオブジェクトのハッシュを計算します。
APIレベルのコマンド
APIレベルのコマンドは、Object Storage Service (OSS) API操作への直接アクセスを提供します。 OSS API操作のパラメーターは、対応するossutilコマンドで指定できます。
次の表に、APIレベルのコマンドの一部を示します。 APIレベルのコマンドの完全なリストを取得するには、ossutil api -h
コマンドを実行します。
コマンド | 説明 |
バケットのアクセス制御リスト (ACL) を設定または変更します。 | |
バケットの ACL をクエリします。 | |
.... | |
クロスオリジンリソース共有 (CORS) ルールを作成します。 | |
CORSルールを照会します。 | |
CORSルールを削除します。 |
ヘルパーコマンド
ヘルパーコマンドは、設定の管理やヘルプ情報の表示などの補助サポートを提供します。
コマンド | 説明 |
ヘルプ情報を表示します。 | |
アクセス資格情報などの構成項目を格納する構成ファイルを作成します。 | |
ossutilを最新バージョンに更新します。 | |
ossutilのバージョンを表示します。 | |
プローブタスクを実行します。 |
オプションタイプ
データ型 | オプション | 説明 |
String | -オプション文字列 |
例: -- acl private |
Boolean | -オプション | オプションをオンまたはオフにします。 例: -- dry-run |
Integer | -オプションInt | このオプションは、符号なし整数を値として取ります。 例: -- read-timeout 10 |
Timestamp | -オプション時間 | ISO 8601形式のタイムスタンプ (DateTimeまたはDate) 。 例: -- max-mtime 2006-01-02T15:04:05 |
サイズ接尾辞 | -オプションSizeSuffix | サイズ単位。 デフォルトの単位はBです。他の単位としては、K (KiB) 、M (MiB) 、G (GiB) 、T (TiB) 、P (PiB) 、およびE (EiB) が挙げられる。
-- 最小サイズの1024 -- 最小サイズ1K |
時間の単位 | -オプション期間 | 時間単位。 デフォルトの単位は秒です。 サポートされる時間単位は、ミリ秒 (ms) 、秒 (s) 、分 (m) 、時間 (h) 、日 (d) 、週 (w) 、月 (M) 、および年 (y) です。 数値は、小数とすることができる。 例: 1.5d -- 分年齢1.5d |
String list | -オプション文字列 | コマンドでオプションを1回または複数回指定できます。 オプションの出現ごとに、単一の値または複数のコンマ区切りの値を指定できます。
例: -- metadata user=jack,email=ja **@ test.com -- metadata address=china |
文字列配列 | -- option stringArray | コマンドでオプションを1回または複数回指定できます。 オプションの出現ごとに指定できる値は1つだけです。 例: -- include *.jpg -- include *.txt |
ファイルからデータを読み込む
ほとんどの場合、コマンドラインでパラメーター値を直接指定します。 複雑な値を処理する必要がある場合は、ファイルから値をロードする方が効率的です。 コマンドをチェーンするときは、標準入力を使用してパラメーター値を指定する必要があります。 パラメータが異なるメソッドを使用して値を取ることができる場合:
値が
file://
で始まる場合、データは指定されたファイルからロードされます。値が
-
の場合、データは標準入力から読み込まれます。
次のサンプルコマンドは、cors-configuration.jsonファイルからCORS設定を読み込んでCORSルールを作成します。
{
"CORSRule": {
"AllowedOrigin": ["www.aliyun.com"],
"AllowedMethod": ["PUT","GET"],
"MaxAgeSeconds": 10000
}
}
ossutil api put-bucket-cors --bucket examplebucket --cors-configuration file://cors-configuration.json
次のサンプルコマンドは、コマンドラインでJSON設定データを取得してCORSルールを作成します。
{"CORSRule":{"AllowedOrigin":["www.aliyun.com"],"AllowedMethod":["PUT","GET"],"MaxAgeSeconds":10000}}
ossutil api put-bucket-cors --bucket examplebucket --cors-configuration "{\"CORSRule\":{\"AllowedOrigin\":[\"www.aliyun.com\"],\"AllowedMethod\":[\"PUT\",\"GET\"],\"MaxAgeSeconds\":10000}}"
次のサンプルコマンドは、標準入力から設定を取得してCORSルールを作成します。
cat cors-configuration.json | ossutil api put-bucket-cors --bucket examplebucket --cors-configuration -
コマンド出力制御
出力フォーマット
-- output-format
パラメーターは、duコマンド、statコマンド、lsコマンド、およびapiコマンドのサブコマンドで使用して、出力をフォーマットできます。 -- output-formatオプションの有効な値を次の表に示します。
値 | 説明 |
生 | raw形式、つまりサーバーがコンテンツを返す形式で出力を返します。 |
JSON | JSON形式で出力を返します。 |
yaml | 出力をYAML形式で返します。 |
次の例では、get-bucket-cors
コマンドの出力はraw形式です。
ossutil api get-bucket-cors --bucket bucketexample
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>www.aliyun.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>10000</MaxAgeSeconds>
</CORSRule>
<ResponseVary>false</ResponseVary>
</CORSConfiguration>
次の例では、出力はJSON形式です。
ossutil api get-bucket-cors --bucket bucketexample --output-format json
{
"CORSRule": {
"AllowedMethod": [
"PUT",
"GET"
],
"AllowedOrigin": "www.aliyun.com",
"MaxAgeSeconds": "10000"
},
"ResponseVary": "false"
}
出力クエリ
ossutilは、組み込みのJSONベースの出力クエリメカニズムを提供します。 -- output-query value
オプションを使用して出力をクエリできます。
このオプションは、APIコマンドセット内のサブコマンドにのみ適用されます。
出力クエリ機能はJMESPathに基づいています。 出力クエリ機能を使用すると、出力はJSON形式になり、JMESPathクエリ式に基づいてフィルタリングされ、指定された形式で返されます。 JMEPathの詳細については、「JMESPath仕様」をご参照ください。
次の例では、get-bucket-corsコマンドはAllowedMethodパラメーターの値のみを返します。
ossutil api get-bucket-cors --bucket bucketexample --output-query CORSRule.AllowedMethod --output-format json
[
"PUT",
"GET"
]
フレンドリーな出力ディスプレイ
ossutilには -- human-readable
オプションが用意されており、duコマンドとstatコマンドの出力のデータサイズと量をより人間が読めるように表示できます。 具体的には、1024単位のKiB、MiB、GiB、TiB、PiBでデータサイズを表示し、1000単位の略号k、m、g、t、pで数量を表示する。
生の出力表示の例
ossutil stat oss://bucketexample
ACL : private
AccessMonitor : Disabled
ArchiveObjectCount : 2
ArchiveRealStorage : 10
ArchiveStorage : 131072
...
StandardObjectCount : 119212
StandardStorage : 66756852803
Storage : 66756852813
StorageClass : Standard
TransferAcceleration : Disabled
フレンドリーな出力表示の例
ossutil stat oss://bucketexample --human-readable
ACL : private
AccessMonitor : Disabled
ArchiveObjectCount : 2
ArchiveRealStorage : 10
ArchiveStorage : 131.072k
...
StandardObjectCount : 119.212k
StandardStorage : 66.757G
Storage : 66.757G
StorageClass : Standard
TransferAcceleration : Disabled
リターンコード
プロセスを使用してossutilを呼び出すと、エコー情報をリアルタイムで表示できません。 プロセスの実行が完了すると、結果に基づいてリターンコードが表示されます。 次のコマンドを実行して、以前に実行したコマンドの終了コードを表示し、その終了コードをトラブルシューティングに使用できます。
Linux
を実行します。Run theエコー $?
コマンドを実行して、以前に実行したコマンドの終了コードを表示します。
Windows
echo % errorlevel %
コマンドを実行して、以前に実行したコマンドのリターンコードを表示します。
macOS
を実行します。Run theエコー $?
コマンドを実行して、以前に実行したコマンドの終了コードを表示します。
リターンコード | 説明 |
0 | 成功を示します。 サーバーに送信されたリクエストは正常に処理され、サーバーはステータスコード200を返しました。 |
1 | パラメーターエラーを示します。 たとえば、必要なサブコマンドまたはパラメータが欠落しているか、コマンドまたはパラメータが不明です。 |
2 | サーバーエラーを示します。 コマンドはサーバーにリクエストを送信しましたが、サーバーからエラー (2xx以外のステータスコード) が返されました。 |
3 | OSS SDK for Goの呼び出し中のサーバー側以外のエラーを示します。 |
4 | cpコマンドやrmコマンドなどによるバッチ処理の部分的な失敗を示します。 |
5 | 中断を示します。 Ctrl + Cを使用してコマンドをキャンセルしました。 |