すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:ossutil コマンドラインインターフェイス 2.0

最終更新日:Dec 17, 2025

ossutil 2.0 コマンドラインインターフェイス (CLI) を使用すると、さまざまなオペレーティングシステムで Alibaba Cloud Object Storage Service (OSS) のリソースを効率的に管理でき、ファイルのアップロード、ダウンロード、同期、管理を迅速に行うことができます。これは、大規模なデータ移行や日常の O&M 操作を実行する開発者、O&M エンジニア、および企業に最適です。

オペレーティングシステム

システムアーキテクチャ

ダウンロードリンク

SHA256 チェックサム

Linux

x86_32

ossutil-2.2.0-linux-386

d5647923a96b32d6466258f0c24def271d8309d6914a8d09007fa71b7c9df7c5

x86_64

ossutil-2.2.0-linux-amd64

9e02837d806cfe976ae6c1fc22557d8e0a394ca6d298b45fb9f48a360d3a67f4

arm32

ossutil-2.2.0-linux-arm

5660734e98c7d0da213aa1daca3656c238e97dd607084b9ea94134ff7c8cbf42

arm64

ossutil-2.2.0-linux-arm64

4f76dfd71d2af8265fcb9309b530f4671242cf5993a8fd0f0e089de7e9665f72

macOS

x86_64

ossutil-2.2.0-mac-amd64

6b5fd4902683817e6b419db9ee4b1cb825142e4b95ee603f8aa8e373a69e6bfa

arm64

ossutil-2.2.0-mac-arm64

dc5b73cde2da84c0e2a13935e63bf419a029fac739cfd6febff9a3ad46af22c3

Windows

x86_32

ossutil-2.2.0-windows-386

40b8950857ad3a37d979dcabcfd740660f8443ed6703962867c2c802586bf4c2

x86_64

ossutil-2.2.0-windows-amd64

c6ea0e1444aa1aea5e846d0153fc8cca8d46ef3f453dd6fa61442f360474885b

amd64

ossutil-2.2.0-windows-amd64-go1.20

f5984cfc277cc004e9d310147feba652e30c7e0dd15cd3eb0c2651e2f1d3a1e3

クイックインテグレーション

ossutil 2.0 コマンドラインインターフェイスを使い始めるには、以下の手順に従ってください:

image

ossutil のインストール

Linux

  1. unzip ツールをインストールします。

    Alibaba Cloud Linux

    sudo yum install -y unzip

    CentOS

    sudo yum install -y unzip

    Ubuntu

    sudo apt install -y unzip
  2. ご利用のオペレーティングシステムとアーキテクチャに対応するインストールパッケージ (Linux x86 32 ビットLinux x86 64 ビットLinux ARM 32 ビット、または Linux ARM 64 ビット) を選択します。curl を使用してパッケージをダウンロードすることもできます。以下の例は、Linux x86_64 システムで curl を使用する方法を示しています:

    curl -o ossutil-2.2.0-linux-amd64.zip https://gosspublic.alicdn.com/ossutil/v2/2.2.0/ossutil-2.2.0-linux-amd64.zip
  3. パッケージをダウンロードしたディレクトリで、以下のコマンドを実行して解凍します。

    unzip ossutil-2.2.0-linux-amd64.zip
  4. `ossutil-2.2.0-linux-amd64` ディレクトリに移動します。

    cd ossutil-2.2.0-linux-amd64
  5. 現在のディレクトリで、以下のコマンドを実行します。

    chmod 755 ossutil
  6. 以下のコマンドを実行して、ossutil をグローバルに利用できるようにします。

    sudo mv ossutil /usr/local/bin/ && sudo ln -s /usr/local/bin/ossutil /usr/bin/ossutil
  7. インストールを検証するには、ossutil コマンドを実行します。

    ossutil

    ossutil のヘルプ情報が表示されれば、インストールは成功です。

Windows

  1. ossutil をインストールします。

    1. ご利用のオペレーティングシステムとアーキテクチャに対応するインストールパッケージ (Windows x86 32 ビットWindows x86 64 ビット、または Windows 7、Windows 8、Windows Server 2008R2) を選択します。

    2. ダウンロードした .zip パッケージを任意のフォルダに解凍し、解凍後のディレクトリに移動します。

    3. 解凍した ossutil フォルダのパスをコピーして、システム環境変数を設定します。

      1. 現在のディレクトリのパスバーをクリックし、フォルダパスをコピーします。

      2. [環境変数] ダイアログボックスを開きます。[システム環境変数] セクションで、[Path] 変数をダブルクリックします。[新規] をクリックし、コピーした ossutil フォルダへのパスを新しいエントリに貼り付けます。

    4. インストールを確認するには、`ossutil` コマンドを実行します。

      ossutil

      ossutil のヘルプ情報が表示されれば、インストールは成功です。

macOS

  1. ご利用のオペレーティングシステムとアーキテクチャに対応するインストールパッケージ (macOS x86 64 ビット または macOS ARM 64 ビット) を選択します。curl を使用してパッケージをダウンロードすることもできます。以下の例は、macOS ARM64 システムで curl を使用する方法を示しています:

    curl -o ossutil-2.2.0-mac-arm64.zip  https://gosspublic.alicdn.com/ossutil/v2/2.2.0/ossutil-2.2.0-mac-arm64.zip
  2. パッケージをダウンロードしたディレクトリで、以下のコマンドを実行して解凍します。

    unzip ossutil-2.2.0-mac-arm64.zip
  3. `ossutil-2.2.0-mac-arm64` ディレクトリに移動します。

    cd ossutil-2.2.0-mac-arm64
  4. 現在のディレクトリで、以下のコマンドを実行します。

    chmod 755 ossutil
  5. 以下のコマンドを実行して、ossutil をグローバルに利用できるようにします。

    sudo mv ossutil /usr/local/bin/ && sudo ln -s /usr/local/bin/ossutil /usr/bin/ossutil
  6. インストールを確認するには、`ossutil` コマンドを実行します。

    ossutil

    ossutil のヘルプ情報が表示されれば、インストールは成功です。

ossutil の設定

設定漏れによる操作の失敗を防ぐため、`ossutil config` コマンドウィザードを使用して、AccessKey ID、AccessKey Secret、リージョン ID を迅速に設定できます。詳細設定を管理するには、「設定ガイド」で手動でアクセス認証情報を設定する方法をご参照ください。

以下の例は、設定ウィザードを使用して RAM ユーザーの AccessKey ペアをアクセス認証情報として迅速に設定する方法を示しています。

Linux

  1. 設定コマンドを実行します。

    ossutil config
  2. プロンプトが表示されたら、設定ファイルのパスを設定します。Enter キーを押すと、デフォルトのパスが使用されます。

    Please enter the config file name,the file name can include path(default /root/.ossutilconfig, carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):

    デフォルトでは、ossutil は `/root/.ossutilconfig` を設定ファイルとして使用します。

  3. プロンプトに従って、AccessKey ID、AccessKey Secret、リージョン ID を設定します。

    1. ご利用の AccessKey ID を入力します。

      Please enter Access Key ID [****************id]:yourAccessKeyID
    2. ご利用の AccessKey Secret を入力します。

      Please enter Access Key Secret [****************sk]:yourAccessKeySecret
    3. OSS データセンターが所在するリージョンを入力します。値を入力しない場合、デフォルト値の `ap-southeast-1` が使用されます。

      リージョンを入力してください [ap-southeast-1]:ap-southeast-1
    4. OSS データセンターのエンドポイントを入力します。カスタムエンドポイントが不要な場合は、Enter キーを押してこのパラメーターをスキップします。

      前のステップでリージョンを設定すると、そのリージョン ID に対応するパブリックエンドポイントがデフォルトで使用されます。 たとえば、region-idap-southeast-1 に設定した場合、デフォルトのパブリックエンドポイントは https://oss-ap-southeast-1.aliyuncs.com です。

      OSS データセンターが所在するリージョンでカスタムエンドポイントが必要な場合は、エンドポイント情報を入力します。たとえば、同じリージョン内の他の Alibaba Cloud プロダクトから OSS にアクセスする場合は、https://oss-ap-southeast-1-internal.aliyuncs.com のような内部エンドポイントを使用できます。

      エンドポイントを入力してください (任意、デフォルトはパブリックエンドポイント) [なし]: https://oss-ap-southeast-1-internal.aliyuncs.com

    以下の表にパラメーターを説明します。

    パラメーター

    必須

    説明

    accessKeyID

    はい

    ご利用のアカウントの AccessKey ペア。AccessKey ペアの取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

    ROS スクリプトを使用して、OSS 管理権限を持つ RAM ユーザーと AccessKey ペアを迅速に作成します

    リソースオーケストレーションサービス (ROS) コンソールの [スタックの作成] ページで、[セキュリティ確認] の下にある確認チェックボックスを選択し、次に [作成] をクリックします。

    1.png

    スタックが作成された後、[出力] タブから AccessKey ペアをコピーします。

    image

    accessKeySecret

    はい

    Region

    はい

    バケットが配置されているリージョンの ID です。このトピックでは、シンガポール リージョンを例に説明します。値を ap-southeast-1 に設定します。リージョン ID の詳細については、「リージョンとエンドポイント」をご参照ください。

    endpoint

    いいえ

    バケットが配置されているリージョンのエンドポイントです。 エンドポイントを手動で設定しない場合、[リージョン] に対応するパブリックエンドポイントが自動的に使用されます。 内部エンドポイントは明示的に指定する必要があります。 たとえば、このトピックでは、シンガポール のパブリックエンドポイントを使用します。 値を https://oss-ap-southeast-1.aliyuncs.com に設定します。

    同じリージョン内の他の Alibaba Cloud プロダクトから OSS にアクセスする場合は、内部エンドポイントを使用します。 値を https://oss-ap-southeast-1-internal.aliyuncs.com に設定します。

    さまざまなリージョンのエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

    重要

    コンプライアンスとセキュリティを向上させるためのポリシーの変更により、2025 年 3 月 20 日以降、新しい OSS ユーザーは、中国本土リージョンにある OSS バケットでデータ API 操作を実行するために、カスタムドメイン名を使用する (CNAME) 必要があります。これらの操作では、デフォルトのパブリックエンドポイントは制限されます。影響を受ける操作の完全なリストについては、公式発表をご参照ください。HTTPS 経由でデータにアクセスする場合、カスタムドメインに有効な SSL 証明書をバインドする必要があります。コンソールでは HTTPS が強制されるため、これは OSS コンソールへのアクセスには必須です

Windows

  1. 設定コマンドを実行します。

    ossutil config
  2. プロンプトが表示されたら、設定ファイルのパスを設定します。Enter キーを押すと、デフォルトのパスが使用されます。

    Please enter the config file name,the file name can include path(default "C:\Users\issuser\.ossutilconfig", carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands):

    デフォルトでは、ossutil は `C:\Users\issuser\.ossutilconfig` を設定ファイルとして使用します。

  3. プロンプトに従って、AccessKey ID、AccessKey Secret、リージョン ID を設定します。

    1. ご利用の AccessKey ID を入力します。

      Please enter Access Key ID [****************id]:yourAccessKeyID
    2. ご利用の AccessKey Secret を入力します。

      Please enter Access Key Secret [****************sk]:yourAccessKeySecret
    3. OSS データセンターが所在するリージョンを入力します。値を入力しない場合、デフォルト値の `ap-southeast-1` が使用されます。

      リージョンを入力してください [ap-southeast-1]:ap-southeast-1
    4. OSS データセンターのエンドポイントを入力します。カスタムエンドポイントが不要な場合は、Enter キーを押してこのパラメーターをスキップします。

      前のステップでリージョンを設定すると、そのリージョン ID に対応するパブリックエンドポイントがデフォルトで使用されます。 たとえば、region-idap-southeast-1 に設定した場合、デフォルトのパブリックエンドポイントは https://oss-ap-southeast-1.aliyuncs.com です。

      OSS データセンターが配置されているリージョン用のカスタムエンドポイントが必要な場合は、エンドポイント情報を入力してください。 たとえば、同じリージョン内の他の Alibaba Cloud プロダクトから OSS にアクセスする場合は、https://oss-ap-southeast-1-internal.aliyuncs.com などの内部エンドポイントを使用できます。

      エンドポイントを入力してください (任意、デフォルトはパブリックエンドポイント) [None]: https://oss-ap-southeast-1-internal.aliyuncs.com

    以下の表にパラメーターを説明します。

    パラメーター

    必須

    説明

    accessKeyID

    はい

    ご利用のアカウントの AccessKey ペア。AccessKey ペアの取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

    ROS スクリプトを使用して、OSS 管理権限を持つ RAM ユーザーと AccessKey ペアを迅速に作成します

    Resource Orchestration Service (ROS) コンソールの[スタックの作成]ページで、[セキュリティ確認]の確認チェックボックスを選択し、[作成]をクリックします。

    1.png

    スタックが作成された後、[出力] タブから AccessKey ペアをコピーします。

    image

    accessKeySecret

    はい

    Region

    はい

    バケットが配置されているリージョンの ID です。この Topic では、シンガポールリージョンを例に説明します。値を ap-southeast-1 に設定します。リージョン ID の詳細については、「リージョンとエンドポイント」をご参照ください。

    endpoint

    いいえ

    バケットが配置されているリージョンのエンドポイントです。 エンドポイントを手動で設定しない場合、[リージョン] に対応するパブリックエンドポイントが自動的に使用されます。 内部エンドポイントは明示的に指定する必要があります。 たとえば、このトピックでは シンガポール のパブリックエンドポイントを使用します。 値を https://oss-ap-southeast-1.aliyuncs.com に設定します。

    同じリージョン内の他の Alibaba Cloud プロダクトから OSS にアクセスするには、内部エンドポイントを使用します。 値を https://oss-ap-southeast-1-internal.aliyuncs.com に設定します。

    さまざまなリージョンのエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

    重要

    コンプライアンスとセキュリティを向上させるためのポリシー変更により、2025 年 3 月 20 日以降、新しい OSS ユーザーは、中国本土リージョンにある OSS バケットでデータ API 操作を実行する場合、カスタムドメイン名を使用する (CNAME ドメイン名) 必要があります。これらの操作では、デフォルトのパブリックエンドポイントは制限されます。影響を受ける操作の完全なリストについては、公式発表をご参照ください。HTTPS 経由でデータにアクセスする場合、カスタムドメインに有効な SSL 証明書をバインドする必要があります。これは、コンソールで HTTPS が適用されるため、OSS コンソールへのアクセスには必須です

macOS

  1. 設定コマンドを実行します。

    ossutil config
  2. プロンプトが表示されたら、設定ファイルのパスを設定します。Enter キーを押すと、デフォルトのパスが使用されます。

    Please enter the config file name,the file name can include path(default "/Users/user/.ossutilconfig", carriage return will use the default file. If you specified this option to other file, you should specify --config-file option to the file when you use other commands): 

    デフォルトでは、ossutil は `/Users/user/.ossutilconfig` を設定ファイルとして使用します。

  3. プロンプトに従って、AccessKey ID、AccessKey Secret、リージョン ID を設定します。

    1. ご利用の AccessKey ID を入力します。

      Please enter Access Key ID [****************id]:yourAccessKeyID
    2. ご利用の AccessKey Secret を入力します。

      Please enter Access Key Secret [****************sk]:yourAccessKeySecret
    3. OSS データセンターのリージョンを入力します。値を入力しない場合、デフォルト値の cn-hangzhou が使用されます。

      リージョンを入力してください [ap-southeast-1]:ap-southeast-1
    4. OSS データセンターのエンドポイントを入力します。カスタムエンドポイントが不要な場合は、Enter キーを押してこのパラメーターをスキップします。

      前のステップでリージョンを設定すると、そのリージョン ID に対応するパブリックエンドポイントがデフォルトで使用されます。 たとえば、region-idap-southeast-1 に設定した場合、デフォルトのパブリックエンドポイントは https://oss-ap-southeast-1.aliyuncs.com です。

      OSS データセンターが所在するリージョン用のカスタムエンドポイントが必要な場合は、エンドポイント情報を入力します。 たとえば、同じリージョン内の他の Alibaba Cloud プロダクトから OSS にアクセスする場合は、https://oss-ap-southeast-1-internal.aliyuncs.com などの内部エンドポイントを使用できます。

      エンドポイントを入力してください (任意、デフォルトはパブリックエンドポイント) [None]: https://oss-ap-southeast-1-internal.aliyuncs.com

    以下の表にパラメーターを説明します。

    パラメーター

    必須

    説明

    accessKeyID

    はい

    ご利用のアカウントの AccessKey ペア。AccessKey ペアの取得方法の詳細については、「AccessKey ペアの作成」をご参照ください。

    ROS スクリプトを使用して、OSS 管理権限を持つ RAM ユーザーと AccessKey ペアを迅速に作成します

    リソースオーケストレーションサービス (ROS) コンソールの[スタックの作成]ページで、[セキュリティの確認]の下にある確認チェックボックスを選択し、[作成]をクリックします。

    1.png

    スタックが作成された後、[出力] タブから AccessKey ペアをコピーします。

    image

    accessKeySecret

    はい

    Region

    はい

    バケットが配置されているリージョンの ID です。このトピックでは、シンガポールリージョンを例に説明します。値を ap-southeast-1 に設定します。リージョン ID の詳細については、「リージョンとエンドポイント」をご参照ください。

    endpoint

    いいえ

    バケットが配置されているリージョンのエンドポイントです。 エンドポイントを手動で設定しない場合、[リージョン] に対応するパブリックエンドポイントが自動的に使用されます。 内部エンドポイントを明示的に指定する必要があります。 たとえば、本トピックでは シンガポール のパブリックエンドポイントを使用します。 値を https://oss-ap-southeast-1.aliyuncs.com に設定します。

    同じリージョン内の他の Alibaba Cloud プロダクトから OSS にアクセスする場合は、内部エンドポイントを使用します。値を https://oss-ap-southeast-1-internal.aliyuncs.com に設定します。

    さまざまなリージョンのエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

    重要

    コンプライアンスとセキュリティを向上させるためのポリシー変更により、2025 年 3 月 20 日以降の新規 OSS ユーザーは、中国本土リージョンにある OSS バケットでデータ API 操作を実行するには、カスタムドメイン名を使用する (CNAME ドメイン名) 必要があります。これらの操作では、デフォルトのパブリックエンドポイントは制限されます。影響を受ける操作の完全なリストについては、公式発表をご参照ください。HTTPS 経由でデータにアクセスする場合、カスタムドメインに有効な SSL 証明書をバインドする必要があります。コンソールでは HTTPS が適用されるため、これはOSS コンソールへのアクセスには必須です。

コマンドの実行

  1. バケットを作成します。

    ossutil mb oss://examplebucket

    以下の出力は、`examplebucket` バケットが作成されたことを示します。

    0.668238(s) elapsed
  2. ファイルをバケットにアップロードします。

    1. ローカルファイル uploadFile.txt を作成します。

      echo 'Hello, OSS!' > uploadFile.txt
    2. ファイルを examplebucket バケットにアップロードします。

      ossutil cp uploadFile.txt oss://examplebucket

      以下の出力は、ファイルが examplebucket バケットにアップロードされたことを示しています。

      Success: Total 1 file, size 12 B, Upload done:(1 objects, 12 B), avg 44 B/s
      
      0.271779(s) elapsed
  3. ファイルをダウンロードします。

    `examplebucket` バケットから `uploadFile.txt` サンプルファイルをローカルの `localfolder` フォルダにダウンロードします。

    ossutil cp oss://examplebucket/uploadFile.txt localfolder/

    以下の出力は、ファイルがローカルの `localfolder` フォルダにダウンロードされたことを示します。

    Success: Total 1 object, size 12 B, Download done:(1 files, 12 B), avg 74 B/s
    
    0.162447(s) elapsed
  4. `examplebucket` バケット内のファイルをリスト表示します。

    ossutil ls oss://examplebucket

    以下の出力は、`examplebucket` バケット内のファイルがリスト表示されたことを示します。

    LastModifiedTime                   Size(B)  StorageClass   ETAG                                  ObjectName
    2024-11-26 14:35:29 +0800 CST           12      Standard   1103F650EB2C292D179A032D2A97B0F5      oss://examplebucket/uploadFile.txt
    Object Number is: 1
    
    0.124679(s) elapsed
  5. `examplebucket` バケットから `uploadFile.txt` を削除します。

    ossutil rm oss://examplebucket/uploadFile.txt

    以下の出力は、`uploadFile.txt` が `examplebucket` バケットから削除されたことを示します。

    0.295530(s) elapsed
  6. `examplebucket` バケットを削除します。

    ossutil rb oss://examplebucket

    以下の出力は、`examplebucket` バケットが削除されたことを示します。0.478659s elapsed

    0.478659(s) elapsed

設定ガイド

ossutil は、設定ファイル、環境変数、コマンドラインオプションによる設定をサポートしており、高い柔軟性を提供します。

設定の優先順位

ossutil は、以下の優先順位で設定を読み取ります:

コマンドラインオプション (-i-k-e など) > 環境変数 (OSS_ACCESS_KEY_ID など) > 設定ファイル (~/.ossutilconfig)

説明

バージョン 2.2.0 以降、`--ignore-env-var` コマンドラインオプションを使用して、`OSS_` プレフィックスを持つ環境変数を無視できます。

設定ファイル

ossutil は設定ファイル (デフォルトパスは ~/.ossutilconfig、または -c オプションでカスタムパスを指定可能) を使用して設定できます。デフォルトの設定ファイルを使用する場合、ファイルパスを指定する必要はなく、ossutil コマンドを直接実行できます。例:

ossutil ls oss://examplebucket

カスタムの設定ファイルパス (例:/path/yourconfig) を使用する場合、-c オプションでパスを指定する必要があります。例:

ossutil -c /path/yourconfig ls oss://examplebucket

設定ファイルのフォーマット

設定ファイルは、セクションとキーと値のペアで構成される INI フォーマットを使用します。設定パラメーターは指定されたセクションに保存されます。これらの設定はセクションにグループ化され、`--profile` オプションを使用して特定のセクションを選択できます。デフォルトでは、ossutil は `[default]` セクションの設定を使用します。他の設定を使用するには、他の設定を作成して参照できます。

セクションとキーと値のペア

設定ファイルの各セクションは、角括弧 ([]) で囲まれた名前で識別されます。セクション内の設定は key=value フォーマットを使用します。例:

[default]
accessKeyID = "your-access-key-id"
accessKeySecret = "your-access-key-secret"
  • セクション内の設定は key=value フォーマットを使用します。

  • セクション名とキーは、大文字と小文字を区別しません。

  • 設定パラメーターのキーは、すべて小文字、キャメルケース、ケバブケース (ハイフン区切り)、スネークケース (アンダースコア区切り) など、複数のフォーマットをサポートします。たとえば、`accesskeyid`、`accessKeyId`、`access-key-id`、`access_key_id` はすべて同じパラメーター名を参照します。

  • 番号記号 (`#`) で始まる行はコメントです。

サポートされるセクションタイプ

セクション名

説明

その他の情報

[default]

デフォルト設定を保存します。--profile オプションが設定されていない場合、このセクションが使用されます。

[profile default] の簡易形式です。

[profile name]

--profile name を使用して参照できるパラメーターを設定します。

source_profile を使用して他の設定を参照することをサポートします。

[buckets name]

リージョン、エンドポイント、アドレッシングスタイルなど、特定のバケットのエンドポイントを設定します。

インライン表記をサポートします。

説明

`config` コマンドを使用して、設定内容を表示および設定できます。詳細については、「config (設定ファイルの管理)」をご参照ください。

セクションタイプ:profile

このセクションは、アクセス認証情報とグローバルパラメーターを設定するために使用されます。以下のパラメーター名がサポートされています:

  • アクセス認証情報パラメーター

    パラメーター名

    エイリアス

    説明

    mode

    /

    認証モード。

    有効な値:AK、StsToken、RamRoleArn、EcsRamRole、Anonymous。

    access-key-id

    accessKeyId

    access_key_id

    OSS へのアクセスに使用される AccessKey ID。

    access-key-secret

    accessKeySecret

    access_key_secret

    OSS へのアクセスに使用される AccessKey Secret。

    sts-token

    stsToken

    sts_token

    OSS へのアクセスに使用される Security Token Service (STS) トークン。

    role-arn

    roleArn

    role_arn

    RAM ロールの ARN。主に RamRoleArn モードで使用されます。

    role-session-name

    roleSessionName

    role_session_name

    セッション名。主に RamRoleArn モードで使用されます。

    ecs-role-name

    ecsRoleName

    ecs_role_name

    ロール名。主に EcsRamRole モードで使用されます。

    credential-process

    credentialProcess

    credential_process

    外部コマンドを指定します。

    credential-uri

    credentialUri

    credential_uri

    アクセス認証情報を取得するための URI を指定します。

    oidc-provider-arn

    oidcProviderArn

    oidc_provider_arn

    OIDC プロバイダーの Alibaba Cloud Resource Name (ARN) を指定します。フォーマットは acs:ram::account-id:oidc-provider/provider-name です。

    oidc-token-file-path

    oidcTokenFilePath

    oidc_token_file_path

    OIDC トークンのファイルパスを指定します。

    credential-process-timeout

    credentialProcessTimeout

    credential_process_timeout

    外部認証情報リクエストのタイムアウト期間を秒単位で指定します。デフォルト値は 15 (15 秒) です。最大値は 600 (10 分) です。たとえば、credential-process-timeout = 60 は 60 秒のタイムアウトを設定します。バージョン 2.0.3 以降でサポートされています。

  • グローバルパラメーター

    パラメーター名

    エイリアス

    説明

    region

    /

    リージョン ID。このパラメーターは必須です。

    loglevel

    /

    ログレベル。有効な値:

    • off (デフォルト)

    • info

    • debug

    read-timeout

    readTimeout

    read_timeout

    クライアントの読み取りおよび書き込みリクエストのタイムアウト期間。単位:秒。デフォルト値:20。

    connect-timeout

    connectTimeout

    connect_timeout

    クライアント接続のタイムアウト期間。単位:秒。デフォルト値:10。

    retry-times

    retryTimes

    retry_times

    エラー発生時のリトライ回数。デフォルト値:10。

    skip-verify-cert

    skipVerifyCert

    skip_verify_cert

    サーバー側のデジタル証明書検証をスキップします。

    sign-version

    signVersion

    sign_version

    リクエストに使用される署名アルゴリズムのバージョン。有効な値:

    • v1

    • v4 (デフォルト)

    output-format

    outputFormat

    output_format

    出力フォーマット。有効な値:

    • raw (デフォルト)

    • json

    • xml

    • yaml

    addressing-style

    addressingStyle

    addressing_style

    リクエストアドレスのフォーマット。有効な値:

    • virtual (デフォルト)

    • path

    • cname

    language

    /

    表示言語。

    endpoint

    /

    パブリックエンドポイント。このパラメーターはオプションです。

  • その他のパラメーター

    パラメーター名

    エイリアス

    説明

    source-profile

    sourceProfile

    source_profile

    指定されたプロファイルからパラメーターを参照します。例:

    [profile cred]
    access-key-id=ak
    access-key-secret=sk
    
    [profile dev]
    region=cn-hangzhou
    source-profile=cred

    buckets

    /

    指定された buckets セクションからパラメーターを参照します。

    [profile dev]
    region=cn-hangzhou
    access-key-id=ak
    access-key-secret=sk
    buckets=dev-bucket
    
    [buckets dev-bucket]
    bucket-name-hz =
     endpoint=oss-cn-hangzhou-internal.aliyuncs.com
    bucket-name-bj =
     region=cn-beijing

    endpoint-suffix-list-path-style

    /

    path-style リクエストモードが自動的に使用されるエンドポイントサフィックスのリストを指定します。複数のサフィックスはカンマ (,) で区切ります。バージョン 2.2.0 以降でサポートされています。

    例 1: endpoint-suffix-list-path-style=DEFAULT

    例 2: endpoint-suffix-list-path-style=DEFAULT,.path-style.com

    DEFAULT:組み込みのデフォルトリストを示します。現在は .privatelink.aliyuncs.com です。

セクションタイプ:buckets

このセクションは、特定のバケットとエンドポイント間のマッピングを設定するために使用されます。`buckets` セクションが `bucket-name =` によってサブセクションに分割されるネスト構造をサポートします。フォーマットは以下の通りです:

[buckets name]
bucket-name = 
  key=value

このフォーマットでは、`name` は `buckets` セクションの名前、`bucket-name` は特定のバケットの名前、`key=value` は設定パラメーターです。以下のパラメーターがサポートされています:

パラメーター名

エイリアス

説明

region

/

データセンターが所在するリージョン。

設定されていない場合、このパラメーターを参照するプロファイルのリージョン値が使用されます。

endpoint

/

パブリックエンドポイント。このパラメーターはオプションです。

addressing-style

addressingStyle

addressing_style

リクエストアドレスのフォーマット。有効な値:

virtual (デフォルト):virtual-hosted-style リクエストアドレスフォーマットを使用します。

path:path-style リクエストアドレスフォーマットを使用します。

cname:CNAME リクエストアドレスフォーマットを使用します。

以下は `buckets` セクションの例です:

[buckets dev-bucket]
bucket-hz-01 = 
  region=cn-hangzhou
bucket-hz-02 = 
  region=cn-hangzhou
  endpoint=test.com
  addressing-style=cname
bucket-bj-01 = 
  region=cn-beijing

環境変数の設定

以下の手順で環境変数を設定できます。

Linux

  1. コマンドラインインターフェイスで、以下のコマンドを実行して環境変数の設定を ~/.bashrc ファイルに追加します:

    echo "export OSS_ACCESS_KEY_ID='your-access-key-id'" >> ~/.bashrc
    echo "export OSS_ACCESS_KEY_SECRET='your-access-key-secret'" >> ~/.bashrc
  2. 以下のコマンドを実行して変更を適用します:

    source  ~/.bashrc
  3. 以下のコマンドを実行して環境変数が有効か確認します:

    echo $OSS_ACCESS_KEY_ID
    echo $OSS_ACCESS_KEY_SECRET

macOS

  1. ターミナルで、以下のコマンドを実行してデフォルトのシェルタイプを表示します。

    echo $SHELL
  2. デフォルトのシェルタイプに基づいて、以下の操作を実行します。

    Zsh

    1. 以下のコマンドを実行して環境変数の設定を ~/.zshrc ファイルに追加します:

      echo "export OSS_ACCESS_KEY_ID='your-access-key-id'" >> ~/.zshrc
      echo "export OSS_ACCESS_KEY_SECRET='your-access-key-secret'" >> ~/.zshrc
    2. 以下のコマンドを実行して変更を適用します:

      source ~/.zshrc
    3. 以下のコマンドを実行して環境変数が有効か確認します:

      echo $OSS_ACCESS_KEY_ID
      echo $OSS_ACCESS_KEY_SECRET

    Bash

    1. 以下のコマンドを実行して環境変数の設定を ~/.bash_profile ファイルに追加します:

      echo "export OSS_ACCESS_KEY_ID='your-access-key-id'" >> ~/.bash_profile
      echo "export OSS_ACCESS_KEY_SECRET='your-access-key-secret'" >> ~/.bash_profile
    2. 以下のコマンドを実行して変更を適用します:

      source ~/.bash_profile
    3. 以下のコマンドを実行して環境変数が有効か確認します:

      echo $OSS_ACCESS_KEY_ID
      echo $OSS_ACCESS_KEY_SECRET

Windows

  1. コマンドプロンプト (CMD) で以下のコマンドを実行します:

    setx OSS_ACCESS_KEY_ID "your-access-key-id"
    setx OSS_ACCESS_KEY_SECRET "your-access-key-secret"
  2. 新しい CMD ウィンドウを開きます。

  3. 新しい CMD ウィンドウで、以下のコマンドを実行して環境変数が有効か確認します:

    echo %OSS_ACCESS_KEY_ID%
    echo %OSS_ACCESS_KEY_SECRET%

以下の環境変数を設定できます:

環境変数名

対応するパラメーター名

OSS_ACCESS_KEY_ID

access-key-id

OSS_ACCESS_KEY_SECRET

access-key-secret

OSS_SESSION_TOKEN

sts-token

OSS_ROLE_ARN

ram-role-arn

OSS_ROLE_SESSION_NAME

role-session-name

OSS_REGION

region

OSS_ENDPOINT

endpoint

OSSUTIL_CONFIG_FILE

config-file

OSSUTIL_PROFILE

profile

コマンドラインオプションの設定

ossutil は、グローバルコマンドラインオプションを含む複数のコマンドラインオプションを提供します。コマンドラインオプションは最も高い優先順位を持ち、設定ファイルや環境変数で設定されたパラメーターをオーバーライドします。

重要

コマンドラインオプションを介して AccessKey ペアを渡すと、ログシステムでキーが公開される可能性があり、セキュリティリスクが生じます。この方法は注意して使用してください。

ossutil ls oss://examplebucket -i "your-access-key-id" -k "your-access-key-secret"

アクセス認証情報の設定

RAM ユーザーの AccessKey ペアの使用

アプリケーションが安全で安定した環境で実行され、外部からの攻撃を受けにくく、OSS への長期的なアクセスが必要で、認証情報を頻繁にローテーションできない場合、Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ペア (AccessKey ID と AccessKey Secret) で認証情報プロバイダーを初期化できます。この方法では、AccessKey ペアを手動で維持する必要があり、セキュリティリスクとメンテナンスの複雑さが増します。

設定ファイル

以下の設定ファイルを作成し、~/.ossutilconfig として保存します。

[default]
accessKeyID = yourAccessKeyID
accessKeySecret = yourAccessKeySecret
region=ap-southeast-1

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします。

ossutil ls oss://examplebucket -c ~/.ossutilconfig

環境変数

export OSS_ACCESS_KEY_ID=yourAccessKeyID
export OSS_ACCESS_KEY_SECRET=yourAccessKeySecret
ossutil ls oss://examplebucket

コマンドラインオプション

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします。

ossutil ls oss://examplebucket -i yourAccessKeyID -k yourAccessKeySecret

STS トークンの使用

アプリケーションが OSS への一時的なアクセスを必要とする場合、STS サービスから取得した一時的な ID 認証情報 (AccessKey ID、AccessKey Secret、およびセキュリティトークン) で認証情報プロバイダーを初期化できます。この方法では、STS トークンを手動で維持する必要があり、セキュリティリスクとメンテナンスの複雑さが増します。さらに、複数回一時的に OSS にアクセスするには、STS トークンを手動でリフレッシュする必要があります。

設定ファイル

以下の設定ファイルを作成し、~/.ossutilconfig として保存します。

[default]
accessKeyID = yourSTSAccessKeyID
accessKeySecret = yourSTSAccessKeySecret
stsToken = yourSecurityToken
region=ap-southeast-1

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします。

ossutil ls oss://examplebucket -c ~/.ossutilconfig

環境変数

export OSS_ACCESS_KEY_ID=yourSTSAccessKeyID
export OSS_ACCESS_KEY_SECRET=yourSTSAccessKeySecret
export OSS_SESSION_TOKEN=yourSecurityToken
ossutil ls oss://examplebucket

コマンドラインオプション

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします。

ossutil ls oss://examplebucket -i yourSTSAccessKeyID -k yourSTSAccessKeySecret -t yourSecurityToken

RAMRoleARN の使用

アプリケーションがクロスアカウントアクセスなど、OSS への認可されたアクセスを必要とする場合、RAMRoleARN で認証情報プロバイダーを初期化できます。この方法は STS トークンに基づいています。RAM ロールの Alibaba Cloud Resource Name (ARN) を指定することで、認証情報ツールは STS サービスから STS トークンをリクエストし、AssumeRole 操作を呼び出して現在のセッションが有効期限切れになる前に新しい STS トークンを申請します。policy パラメーターに値を割り当てて、RAM ロールをより小さな権限セットに制限することもできます。

重要
  • Alibaba Cloud アカウントは、そのリソースに対して完全な権限を持っています。Alibaba Cloud アカウントの AccessKey ペアが漏洩すると、システムに重大なセキュリティリスクをもたらします。Alibaba Cloud アカウントの AccessKey ペアの使用は推奨しません。代わりに、最小限の必要な権限を持つ RAM ユーザーの AccessKey ペアを使用してください。

  • RAM ユーザーの AccessKey ペアの作成方法の詳細については、「AccessKey ペアの作成」をご参照ください。RAM ユーザーの AccessKey ID と AccessKey Secret は作成時にのみ表示されます。すぐに保存する必要があります。忘れた場合は、ローテーションのために新しい AccessKey ペアを作成する必要があります。

  • RAMRoleARN の取得方法の詳細については、「CreateRole」をご参照ください。

以下の設定ファイルを作成し、~/.ossutilconfig として保存します。この方法は、環境変数やコマンドラインオプションではサポートされていません。

[default]
accessKeyID = yourAccessKeyID
accessKeySecret = yourAccessKeySecret
mode = RamRoleArn
roleArn = acs:ram::137918634953****:role/Alice
roleSessionName = session_name_example
region=ap-southeast-1

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします。

ossutil ls oss://examplebucket -c ~/.ossutilconfig

EcsRamRole の使用

アプリケーションが ECS インスタンス、ECI インスタンス、または Container Service for Kubernetes (ACK) のワーカーノードで実行される場合、EcsRamRole で認証情報プロバイダーを初期化することをお勧めします。この方法は STS トークンに基づいています。EcsRamRole を使用すると、ロールを ECS インスタンス、ECI インスタンス、または ACK のワーカーノードに関連付けて、インスタンス内で STS トークンを自動的にリフレッシュできます。この方法では、AccessKey ペアや STS トークンを提供する必要がなく、手動メンテナンスのリスクが排除されます。EcsRamRole の取得方法の詳細については、「CreateRole」をご参照ください。

説明

この方法は環境変数ではサポートされていません。

設定ファイル

以下の設定ファイルを作成し、~/.ossutilconfig として保存します。

[default]
mode = EcsRamRole
# ecsRoleName は任意です。設定されていない場合、自動的に取得されます。
ecsRoleName = EcsRamRoleOss 
region=ap-southeast-1

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします。

ossutil ls oss://examplebucket -c ~/.ossutilconfig

コマンドラインインターフェイス

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします。

ossutil ls oss://examplebucket --mode EcsRamRole

OIDCRoleARN の使用

Container Service for Kubernetes (ACK) のワーカーノードに RAM ロールを設定した後、それらのノード上の Pod 内のアプリケーションは、ECS インスタンスにデプロイされたアプリケーションと同様に、メタデータサーバーを介して関連付けられたロールの STS トークンを取得できます。ただし、クラスターに信頼できないアプリケーション (例えば、未検証のコードを持つ顧客から提出されたアプリケーション) をデプロイする場合、それらがワーカーノードに関連付けられたインスタンス RAM ロールの STS トークンにアクセスできないようにしたい場合があります。これらの信頼できないアプリケーションが必要な STS トークンを安全に取得し、アプリケーションレベルの権限最小化を達成しながらクラウドリソースを保護するために、RAM Roles for Service Accounts (RRSA) 機能を使用できます。この方法は STS トークンに基づいています。Alibaba Cloud コンテナークラスターは、異なるアプリケーション Pod に対して対応するサービスアカウント OIDC トークンファイルを作成およびマウントし、関連する設定情報を環境変数に注入します。認証情報ツールは、環境変数からこの設定を取得し、STS の `AssumeRoleWithOIDC` 操作を呼び出して、OIDC トークンをバインドされたロールの STS トークンと交換します。この方法により、AccessKey ペアや STS トークンを手動で維持するリスクが排除されます。詳細については、「RRSA に基づく Pod の権限分離」をご参照ください。

以下の設定ファイルを作成し、~/.ossutilconfig として保存します。この方法は、環境変数やコマンドラインオプションではサポートされていません。

[default]
mode = oidcRoleArn
# OIDCプロバイダーのAlibaba Cloudリソースネーム (ARN) を指定します。 フォーマットは acs:ram::account-id:oidc-provider/provider-name です。
OIDCProviderArn=acs:ram::113511544585****:oidc-provider/TestOidcProvider
# OIDCトークンのファイルパスを指定します。
OIDCTokenFilePath=OIDCTokenFilePath
# 偽装するロールのARNを入力します。 フォーマットは acs:ram::113511544585****:oidc-provider/TestOidcProvider です。
roleArn=acs:ram::113511544585****:role/testoidc
# 異なるトークンを区別するためのカスタムロールセッション名を指定します。
roleSessionName= TestOidcAssumedRoleSession
region=ap-southeast-1

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします。

ossutil ls oss://examplebucket -c ~/.ossutilconfig

外部プロセスからの認証情報の取得

ossutil は、外部コマンドを使用して独立した外部プロセスを起動できます。外部プロセスは実行され、その結果を標準出力を通じて ossutil に返します。外部プロセスを使用して認証情報を取得できます。

説明
  • セキュリティリスクを避けるため、認証情報を生成するコマンドは、承認されていないプロセスやユーザーからアクセスできないようにする必要があります。

  • 認証情報を生成するコマンドは、`stderr` や `stdout` に秘密情報を書き込んではいけません。これらの情報はキャプチャされたりログに記録されたりする可能性があり、不正なユーザーに公開される可能性があります。

外部コマンドは、以下のフォーマットで長期または一時的な認証情報を返すことができます。

長期的な認証情報

{
  "AccessKeyId" : "ak",
  "AccessKeySecret" : "sk",
}

一時的な認証情報

{
  "AccessKeyId" : "ak",
  "AccessKeySecret" : "sk",
  "Expiration" : "2023-12-29T07:45:02Z",
  "SecurityToken" : "token",
}

以下の設定ファイルを生成し、~/.ossutilconfig に保存します。これらの設定は、環境変数やコマンドラインオプションを使用して設定することはできません。

[default]
mode = Process
credentialProcess = user-cmd
region=ap-southeast-1

以下のコマンドを実行して、`examplebucket` バケット内のオブジェクトをクエリします:

ossutil ls oss://examplebucket -c ~/.ossutilconfig

匿名アクセス

公開読み取り権限を持つ OSS リソースにのみアクセスする必要がある場合は、認証情報を提供せずに匿名アクセスを使用できます。

ossutil cat oss://bucket/public-object --mode Anonymous

コマンドリファレンス

ossutil は、高レベルコマンド、API レベルのコマンド、ヘルパーコマンドの 3 種類のコマンドを提供します。

コマンドの構造

ossutil コマンドの一般的なフォーマットは以下の通りです:

ossutil command [argument] [flags]  

ossutil command subcommond [argument] [flags]  

ossutil topic
  • argument:文字列パラメーター。

  • 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 種類のコマンドを提供します:

  • 高レベルコマンド

    これらは、バケットの作成と削除、データのコピー、オブジェクトのプロパティの変更など、一般的なバケットまたはオブジェクトの操作に使用されます。

    コマンド名

    説明

    mb

    バケットを作成します

    rb

    バケットを削除します

    du

    バケットまたは指定されたプレフィックスのストレージサイズを取得します

    stat

    バケットまたはオブジェクトの説明を表示します

    mkdir

    名前がスラッシュ (/) で終わるオブジェクトを作成します

    append

    追加可能なオブジェクトの末尾にコンテンツを追加します

    cat

    オブジェクトのコンテンツを標準出力に連結します

    ls

    バケットまたはオブジェクトをリスト表示します

    cp

    オブジェクトをアップロード、ダウンロード、またはコピーします

    rm

    バケット内のオブジェクトを削除します

    set-props

    オブジェクトのプロパティを設定します

    presign

    オブジェクトの署名付き URL を生成します

    restore

    凍結されたオブジェクトを読み取り可能な状態に解凍します

    revert

    オブジェクトを指定されたバージョンに復元します

    sync

    ローカルファイルディレクトリまたはソースからのオブジェクトを宛先に同期します

    hash

    ファイルまたはオブジェクトのハッシュ値を計算します

  • API レベルのコマンドは、API 操作への直接アクセスを提供し、それらの操作の設定パラメーターをサポートします。

    説明

    一部のコマンドのみがリストされています。ossutil api -h を実行してすべてのコマンドを表示できます。

    コマンド名

    説明

    put-bucket-acl

    バケットのアクセス権限を設定または変更します

    get-bucket-acl

    アクセス権限を取得します

    ....

    put-bucket-cors

    オリジン間リソース共有 (CORS) ルールを設定します

    get-bucket-cors

    オリジン間リソース共有 (CORS) ルールを取得します

    delete-bucket-cors

    オリジン間リソース共有 (CORS) ルールを削除します

  • ヘルパーコマンド。ファイルの設定や追加のヘルプトピックへのアクセスなどのコマンドです。

    コマンド名

    説明

    help

    ヘルプ情報を取得します

    config

    設定項目とアクセス認証情報を保存するための設定ファイルを作成します

    update

    バージョンを更新します

    version

    バージョン情報を表示します

    probe

    コマンドをプローブします

コマンドオプションのタイプ

オプションタイプ

オプション

説明

文字列

--option string

  • 文字列パラメーターには、ASCII 文字セットの英数字、記号、スペースを含めることができます。

  • 文字列にスペースが含まれる場合は、引用符で囲む必要があります。

例: --acl private。

ブール値

--option

オプションを有効または無効にします。

例: --dry-run。

整数

--option Int

符号なし整数。

例: --read-timeout 10。

タイムスタンプ

--option Time

ISO 8601 フォーマット。DateTime または Date です。

例: --max-mtime 2006-01-02T15:04:05。

バイト単位サフィックス

--option SizeSuffix

デフォルトの単位はバイト (B) です。単位サフィックスも使用できます。サポートされているサフィックスは K (KiB) = 1024 バイト、M (MiB)、G (GiB)、T (TiB)、P (PiB)、E (EiB) です。

例:最小サイズは 1024 バイトです。

--min-size 1024

--min-size 1K

時間単位サフィックス

--option Duration

時間単位。デフォルトの単位は秒です。サポートされているサフィックスは ms (ミリ秒)、s (秒)、m (分)、h (時間)、d (日)、w (週)、M (月)、y (年) です。

小数がサポートされています。例:1.5 日。

--min-age 1.5d

文字列リスト

--option strings

同じ名前の単一または複数のオプションをサポートします。カンマ (,) で区切られた複数の値をサポートします。

複数のオプションに対して単一の値をサポートします。

例: --metadata user=jack,email=ja**@test.com --metadata address=china

文字列配列

--option stringArray

同じ名前の単一または複数のオプションをサポートします。複数のオプションに対して単一の値のみをサポートします。

例: --include *.jpg --include *.txt。

コマンドライン以外のソースからのデータ読み込み

通常、パラメーター値はコマンドラインで提供されます。ただし、複雑なパラメーター値の場合、ファイルから読み込む必要がある場合があります。複数のコマンド操作を連鎖させる場合、標準入力からパラメーター値を読み込む必要がある場合があります。複数の読み込み方法をサポートする必要があるパラメーターには、以下の規則が適用されます:

  • file:// で始まる値は、ファイルパスから値が読み込まれることを示します。

  • パラメーター値が - の場合、標準入力から値が読み込まれることを示します。

たとえば、バケットのオリジン間リソース共有 (CORS) 設定を JSON フォーマットで設定するには、ファイルからパラメーターを読み込むことができます。`cors-configuration.json` ファイルは以下の通りです:

{
  "CORSRule": {
    "AllowedOrigin": ["www.aliyun.com"],
    "AllowedMethod": ["PUT","GET"],
    "MaxAgeSeconds": 10000
  }
}
ossutil api put-bucket-cors --bucket examplebucket --cors-configuration file://cors-configuration.json

CORS パラメーターをオプション値として読み込むには、`cors-configuration.json` のコンパクト形式を使用します:

{"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}}"

以下は、標準入力からパラメーターを読み込む例です:

cat cors-configuration.json | ossutil api put-bucket-cors --bucket examplebucket --cors-configuration -

コマンド出力の制御

出力フォーマット

`ossutil api` の下のサブコマンド、および `du` と `stat` コマンドでは、--output-format パラメーターを使用して出力フォーマットを調整できます。以下のフォーマットがサポートされています:

フォーマット名

説明

raw

サーバーから返された元のフォーマットでコンテンツを出力します。

json

JSON 文字列フォーマットで出力します。

yaml

YAML 文字列フォーマットで出力します。

xml

XML 文字列フォーマットで出力します。

たとえば、get-bucket-cors の場合、元のコンテンツは以下の通りです:

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 は、--output-query value オプションで使用できる、組み込みの JSON ベースのクライアント側フィルタリング機能を提供します。

説明

このオプションは `ossutil api` の下のサブコマンドでのみサポートされます。

この機能は JMESPath 構文に基づいています。この機能を使用すると、返されたコンテンツは JSON に変換され、JMESPath を使用してフィルタリングされ、指定されたフォーマットで表示されます。JMESPath 構文の詳細については、「JMESPath 仕様」をご参照ください。

たとえば、`get-bucket-cors` の `AllowedMethod` コンテンツのみを表示するには、以下のコマンドを実行します:

ossutil api get-bucket-cors --bucket bucketexample --output-query CORSRule.AllowedMethod --output-format json
[
  "PUT",
  "GET"
]

人間が判読可能な形式での表示

`du` や `stat` などの高レベルコマンドでは、--human-readable オプションを使用して、バイトとカウントデータを人間が判読可能な形式で表示できます。バイトデータは Ki、Mi、Gi、または Ti サフィックス (基数 1024) のフォーマットに変換されます。カウントデータは k、m、g、t、または p サフィックス (基数 1000) のフォーマットに変換されます。

例:Raw モード

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 を呼び出す場合、出力をリアルタイムで表示することはできません。プロセスが完了すると、ossutil は結果に基づいて異なるリターンコードを生成します。最後に実行されたリターンコードを取得して、問題を分析および処理できます。以下の表に、リターンコードとその意味を説明します。

Linux

以下のコマンドを実行してリターンコードを取得します: echo $?

Windows

以下のコマンドを実行してリターンコードを取得します: echo %errorlevel%

macOS

以下のコマンドを実行してリターンコードを取得します: echo $?

リターンコード

説明

0

コマンドは成功しました。サーバーに送信されたリクエストは正常に実行され、サーバーは 200 応答を返しました。

1

パラメーターエラー。たとえば、必須のサブコマンドまたはパラメーターが欠落している、または不明なコマンドまたはパラメーターが使用された場合。

2

コマンドは正常に解析され、指定されたサービスにリクエストが送信されましたが、サービスはエラー (非 2xx 応答) を返しました。

3

OSS Go SDK の呼び出し時にサーバー以外のエラーが発生しました。

4

`cp` や `rm` などのバッチ操作中に、一部のリクエストでエラーが発生しました。

5

中断エラー。実行中に Ctrl+C を押してコマンドがキャンセルされました。

コマンドラインオプション

コマンドライン操作では、一部のコマンドは操作の対象を指定したりオプションを設定したりするために追加のパラメーターを必要としますが、他のコマンドは必要としません。パラメーターを取るコマンドでは、目的の機能を実現するために適切なパラメーター値を提供できます。例:

ossutil ls --profile dev

コマンド ossutil ls --profile dev は、ユーザーがパラメーター値 dev を使用して特定の構成プロファイルを指定できるようにします。パラメーターを取るオプションは通常、オプション名とパラメーター値を区切るためにスペースまたは等号 (`=`) を必要とします (例:--profile dev または --profile=dev)。パラメーター値にスペースが含まれる場合は、コマンドが正しく解析されるように、値全体を二重引用符で囲む必要があります (例:--description "OSS bucket list")。

グローバルコマンドラインオプション

パラメーター

タイプ

説明

-i, --access-key-id

string

OSS へのアクセスに使用される AccessKey ID。

-k, --access-key-secret

string

OSS へのアクセスに使用される AccessKey Secret。

--addressing-style

string

リクエストアドレスのフォーマット。有効な値:

  • virtual (デフォルト):virtual-hosted-style。

  • path:path-style。

  • cname:カスタムドメイン名モード。

-c, --config-file

string

設定ファイルのパス。デフォルト値は ~\\.ossutilconfig です。

--connect-timeout

int

クライアント接続のタイムアウト期間。単位:秒。デフォルト値:10。

-n, --dry-run

/

変更を加えずにドライランを実行します。

-e, --endpoint

string

パブリックエンドポイント。

-h, --help

/

ヘルプ情報を表示します。

--language

string

表示言語。

--loglevel

string

ログレベル。有効な値:

  • off (デフォルト)

  • info

  • debug

--mode

string

認証モード。有効な値:

  • AK:AccessKey ペア。

  • StsToken:一時的なセキュリティ認証情報。

  • EcsRamRole:ECS インスタンスの RAM ロールを使用して認証します。

  • Anonymous:匿名アクセス。

--output-format

string

出力フォーマット。デフォルト値:raw。

--output-query

string

JMESPath クエリ条件。

--profile

string

設定ファイル内のプロファイルを指定します。

-q, --quiet

/

クワイエットモード。可能な限り少ない情報を表示します。

--read-timeout

int

クライアントの読み取りおよび書き込みリクエストのタイムアウト期間。単位:秒。デフォルト値:20。

--region

string

データセンターが所在するリージョン。cn-hangzhou に設定できます。

--retry-times

int

エラー発生時のリトライ回数。デフォルト値:10。

--sign-version

string

リクエストに使用される署名アルゴリズムのバージョン。有効な値:

  • v1

  • v4 (デフォルト)

--skip-verify-cert

/

サーバー側のデジタル証明書検証をスキップします。

-t, --sts-token

string

OSS へのアクセスに使用される STS トークン。

--proxy

string

プロキシサーバーを指定します。バージョン 2.0.1 以降でサポートされています。

値は以下のいずれかです:

  • 直接設定:プロキシサーバーの詳細を直接指定できます。例:

    • http://proxy.example.com:8080

    • https://proxy.example.com:8443

  • envHTTP_PROXY および HTTPS_PROXY 環境変数を使用してプロキシサーバー情報を取得することを示します。これらの 2 つの環境変数をオペレーティングシステムで設定する必要があります。例:

    • HTTP_PROXY=http://proxy.example.com:8080

    • HTTPS_PROXY=https://proxy.example.com:8443

    これらの環境変数を設定した後、プロキシサーバーオプションの値を env に設定すると、システムはこれらの変数からプロキシ設定を自動的に使用します。

--log-file

string

ログ出力ファイルを指定します。バージョン 2.0.1 以降でサポートされています。値は次のいずれかです:

  • -:ログを標準出力 (Stdout) に出力します。

  • ファイルパス:ログが出力されるファイルパスを指定します。

ログ出力ファイルが指定されていない場合、ログはデフォルトの設定ファイルに出力されます。

--cloudbox-id

string

CloudBox ID。CloudBox シナリオで使用されます。バージョン 2.1.0 以降でサポートされています。

--ignore-env-var

/

OSS_ プレフィックスを持つすべての環境変数設定を無視します。バージョン 2.2.0 以降でサポートされています。

--bind-address

string

アウトバウンド接続がバインドされるローカル IP アドレス (IPv4 または IPv6) を指定します。バージョン 2.2.0 以降でサポートされています。

--account-id

string

アカウント ID。ベクターバケットシナリオでの ID 識別とリソース所有権の判断に使用されます。バージョン 2.2.0 以降でサポートされています。

一般的なコマンドラインオプション

コマンド範囲

サポートされるオプション

すべての高レベルコマンド

  • --encoding-type string:入力オブジェクトまたはファイル名のエンコーディング方法。有効な値:url。

  • --request-payer string:リクエストの支払方法。リクエスト元支払いモードの場合は、この値を requester に設定します。

バッチ操作をサポートするコマンド

  • --start-after/--end-with (, ]:キーのクエリ範囲を指定します (開始は排他的、終了は包括的)。

  • filter オプション:オブジェクト/ファイル名、オブジェクト/ファイルディレクトリ、オブジェクト/ファイルサイズ、オブジェクト/ファイル時間、およびオブジェクトのメタデータに対してフィルター条件を設定できます。特定のフィルタリングルールについては、「フィルターオプション」をご参照ください。

  • --limited-num:クエリインターフェイスによって返されるデータ量を設定します。

  • --recursive/-r:再帰的な操作を実行し、サブディレクトリを含むルートディレクトリ下のすべてのファイルまたはオブジェクトにアクセスします。

  • --dirs/-d:サブディレクトリを含まず、ルートディレクトリ内のファイルまたはオブジェクトにのみアクセスします。

    説明

    オブジェクトの場合、これは Delimiter メソッドを使用してシミュレートされ、プレフィックス下のすべてのオブジェクトをスキャンする必要があります。オブジェクトが多いほど、時間がかかります。

  • --force/-f:確認プロンプトなしで操作を強制します。

  • --list-objects:ListObjects インターフェイスを使用してオブジェクトをリストします。

宛先フィルタリングルールをサポートするコマンド

  • --update:変更時間のみを比較し、ソースが宛先より新しい場合にのみ同期します。

  • --size-only:ファイルサイズのみを比較し、ファイルサイズが異なる場合にのみ同期します。

  • --checksum:CRC-64 を比較します。まずファイルサイズを比較し、同じ場合は CRC-64 を比較します。片側に CRC-64 が存在しない場合、それらは不一致と見なされます。これはオブジェクト間のコピーにのみ有効です。

  • --ignore-existing:既に存在するファイルをスキップします。バージョン 2.0.3 以降でサポートされています。

単一オブジェクトをサポートするコマンド

--version-id string:オブジェクトのバージョン ID。

リストモードをサポートするコマンド

--list-format:リストファイルのフォーマット。有効な値:plain、inventory。

--list-manifest-from:ファイルからリストファイルのフォーマットの説明情報を読み取ります。リストファイルのフォーマットが inventory の場合、このパラメーターを設定する必要があります。

よくある質問

ossutil コマンドを実行すると、「region must be set in sign version 4」というエラーが報告されます

原因:ossutil 2.0 を設定する際にリージョン ID が設定されていませんでした。

解決策:ossutil を使用する際に設定項目が欠落していることによる操作の失敗を防ぐため、必要な基本項目 (AccessKey ID、AccessKey Secret、リージョン ID) を必ず設定してください。署名が V4 にアップグレードされたため、リージョン ID は特に重要であり、必須項目となっています。リージョン ID の取得方法の詳細については、「リージョンとエンドポイント」をご参照ください。