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

Object Storage Service:ossutil 2.0 CLI

最終更新日:May 09, 2026

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

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

アーキテクチャ

ダウンロードリンク

SHA256 チェックサム

Linux

x86_32

ossutil-2.3.0-linux-386.zip

29cbd49b6c401c740c2f036cdf9d44ee8da340b16bdb3be71a33bcbebbe35ec5

x86_64

ossutil-2.3.0-linux-amd64.zip

3ae4d9fc85a7a6e9f5654d1599766f1a3a42a3692870887b5ae9338d582ef65a

arm32

ossutil-2.3.0-linux-arm.zip

8aff883c676961a11c89ac98b807fafa54fb424851d0557b1691b9d320324b9e

arm64

ossutil-2.3.0-linux-arm64.zip

f6c95ba0c2d2ef30290af686ce4d706c701f4734ce8090bee4288a77e3f1d764

macOS

x86_64

ossutil-2.3.0-mac-amd64.zip

8437fdd3ef1a3eb12310f61fcf1c00a5bff5cdab47b4fea815527472e7cf896c

arm64

ossutil-2.3.0-mac-arm64.zip

058fd048f321f8c80def8b748030531646eefe3a82837bf16b581ba7d9c84ac7

Windows

x86_32

ossutil-2.3.0-windows-386.zip

ae5f20b0bfe2aadf61c87931cbb342f743e266bb56b49dace16f59942305c1ea

x86_64

ossutil-2.3.0-windows-amd64.zip

98209156987667b39fd12a0c7b940342900daef61a9306ea7f34acf17f287da2

x86_64

ossutil-2.3.0-windows-amd64-go1.20.zip

0b9249d1c1437a9f052a9bf5eeaf1d4358b515e08efa82a3b7048950ce7efdea

クイックスタート

ossutil 2.0 コマンドラインインターフェイスを使用するには、以下の手順を実行する必要があります。

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.3.0-linux-amd64.zip https://gosspublic.alicdn.com/ossutil/v2/2.3.0/ossutil-2.3.0-linux-amd64.zip
  3. ダウンロードディレクトリで、パッケージを解凍します。

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

    cd ossutil-2.3.0-linux-amd64
  5. ossutil ファイルに実行権限を付与します。

    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

    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 がヘルプ情報を表示すれば、インストールは成功です。

macOS

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

    curl -o ossutil-2.3.0-mac-arm64.zip  https://gosspublic.alicdn.com/ossutil/v2/2.3.0/ossutil-2.3.0-mac-arm64.zip
  2. ダウンロードディレクトリで、パッケージを解凍します。

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

    cd ossutil-2.3.0-mac-arm64
  4. ossutil ファイルに実行権限を付与します。

    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 の設定

設定漏れによるエラーを回避するため、AccessKey ID、AccessKey Secret、およびリージョン ID を迅速に設定するには、ossutil config ウィザードを使用することを推奨します。高度なオプションについては、「設定ガイド」をご参照ください。手動でアクセス認証情報を設定できます。

この例では、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 データセンターのリージョンを入力します。空白のままにすると、デフォルトで cn-hangzhou になります。

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

      リージョンを設定すると、ossutil は対応するパブリックエンドポイントをデフォルトで使用します。たとえば、region-idap-southeast-1 に設定すると、デフォルトのパブリックエンドポイントは https://oss-ap-southeast-1.aliyuncs.com になります。

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

      Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-ap-southeast-1-internal.aliyuncs.com

    以下の表は、パラメーターの説明です。

    パラメーター

    必須

    説明

    accessKeyID

    はい

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

    OSS 管理権限を持つ RAM ユーザーおよび AccessKey ペアを迅速に作成するには、Resource Orchestration Service (ROS) スクリプトを使用します。

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

    1.png

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

    image

    accessKeySecret

    はい

    Region

    はい

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

    endpoint

    いいえ

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

    同一リージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。このパラメーターを https://oss-ap-southeast-1-internal.aliyuncs.com に設定します。

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

    重要

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

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 データセンターのリージョンを入力します。空白のままにすると、デフォルトで cn-hangzhou になります。

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

      リージョンを設定すると、ossutil は対応するパブリックエンドポイントをデフォルトで使用します。たとえば、region-idap-southeast-1 に設定すると、デフォルトのパブリックエンドポイントは https://oss-ap-southeast-1.aliyuncs.com になります。

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

      Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-ap-southeast-1-internal.aliyuncs.com

    以下の表は、パラメーターの説明です。

    パラメーター

    必須

    説明

    accessKeyID

    はい

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

    OSS 管理権限を持つ RAM ユーザーおよび AccessKey ペアを迅速に作成するには、Resource Orchestration Service (ROS) スクリプトを使用します。

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

    1.png

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

    image

    accessKeySecret

    はい

    Region

    はい

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

    endpoint

    いいえ

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

    同一リージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。このパラメーターを https://oss-ap-southeast-1-internal.aliyuncs.com に設定します。

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

    重要

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

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 になります。

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

      リージョンを設定すると、ossutil は対応するパブリックエンドポイントをデフォルトで使用します。たとえば、region-idap-southeast-1 に設定すると、デフォルトのパブリックエンドポイントは https://oss-ap-southeast-1.aliyuncs.com になります。

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

      Please enter Endpoint (optional, use public endpoint by default) [None]: https://oss-ap-southeast-1-internal.aliyuncs.com

    以下の表は、パラメーターの説明です。

    パラメーター

    必須

    説明

    accessKeyID

    はい

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

    OSS 管理権限を持つ RAM ユーザーおよび AccessKey ペアを迅速に作成するには、Resource Orchestration Service (ROS) スクリプトを使用します。

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

    1.png

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

    image

    accessKeySecret

    はい

    Region

    はい

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

    endpoint

    いいえ

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

    同一リージョン内の他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用します。このパラメーターを https://oss-ap-southeast-1-internal.aliyuncs.com に設定します。

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

    重要

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

コマンドの実行

  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.478659(s) elapsed

設定

ossutil は非常に柔軟で、設定ファイル、環境変数、またはコマンドラインオプションを使用して設定できます。

設定の優先順位

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

コマンドラインオプション (例:-i-k、および -e) > 環境変数 (例:OSS_ACCESS_KEY_ID) > 設定ファイル (~/.ossutilconfig)

説明
  • バージョン 2.2.0 以降では、--ignore-env-var コマンドラインオプションを使用して、OSS_ 接頭辞を持つ環境変数を無視できます。

  • バージョン 2.3.0 以降では、--job--parallel--bigfile-threshold--part-size、および --write-buffer-size オプションを設定ファイルに設定できます。key=value 形式 (例:job=10) で、設定ファイルの対応するプロファイルセクションに追加するか、ossutil config set コマンドを使用して書き込みます。コマンドラインオプションは、設定ファイルよりも優先されます。

設定ファイル

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 形式です。

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

  • 設定パラメーターのキーは、小文字、camelCase、kebab-case (ハイフン区切り)、snake_case (アンダースコア区切り) など、複数の形式をサポートします。たとえば、accesskeyidaccessKeyIdaccess-key-id、および access_key_id はすべて同じパラメーター名として扱われます。

  • シャープ記号 (#) で始まる行はコメントです。

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

セクション名

説明

注記

[default]

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

[profile default] の簡略形です。

[profile name]

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

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

[buckets name]

特定のバケットのエンドポイントを設定します。regionendpoint、および addressing style を含みます。

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

説明

config コマンドを使用して設定を表示および設定できます。詳細については、「config」をご参照ください。

プロファイル

このセクションでは、アクセス認証情報およびグローバルパラメーターを設定します。以下のパラメーターがサポートされています。

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

    パラメーター

    エイリアス

    説明

    mode

    /

    認証モードを指定します。

    有効値:AKStsTokenRamRoleArnEcsRamRole、および 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 にアクセスするために使用するセキュリティトークン。

    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 プロバイダーの 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 秒、最大値は 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

    /

    パススタイルのリクエストモードを自動的に使用するエンドポイントサフィックスのリストを指定します。複数のサフィックスはカンマ (,) で区切ります。バージョン 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

このセクションでは、バケットとエンドポイントのマッピングを設定します。ネスト構造をサポートしており、個々のバケットのサブセクションは bucket-name = を使用して定義されます。形式は以下のとおりです。

[buckets name]
bucket-name = 
  key=value

この形式では、namebuckets セクションの名前、bucket-name は特定のバケットの名前、key=value は設定パラメーターを表します。以下のパラメーターがサポートされています。

パラメーター

エイリアス

説明

region

/

データセンターが配置されているリージョン。

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

endpoint

/

サービスのエンドポイント。このパラメーターはオプションです。

addressing-style

addressingStyle

addressing_style

リクエストアドレスの形式。有効値:

virtual (デフォルト):仮想ホスト型のリクエストアドレス形式を使用します。

path:パス型のリクエストアドレス形式を使用します。

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

role-arn

OSS_ROLE_SESSION_NAME

role-session-name

OSS_REGION

region

OSS_ENDPOINT

endpoint

OSSUTIL_CONFIG_FILE

config-file

OSSUTIL_PROFILE

profile

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

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

重要

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

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

アクセス認証情報

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

一時的なセキュリティ認証情報

アプリケーションが OSS への一時的なアクセスを必要とする場合は、セキュリティトークンサービス (STS) から取得した一時的なセキュリティ認証情報 (AccessKey ID、AccessKey Secret、およびセキュリティトークン) を使用して認証情報プロバイダーを初期化できます。この方法ではセキュリティトークンを手動で管理する必要があるため、セキュリティリスクと複雑さが増加します。繰り返し一時的なアクセスを行うには、トークンを手動で更新する必要があります。

設定ファイル

次の設定ファイルを作成し、~/.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 --region cn-hangzhou

RAM ロール ARN

アプリケーションが OSS への承認されたアクセスを必要とする場合 (例:Alibaba Cloud アカウント間で OSS にアクセスする場合)、RAMRoleARN を使用して認証情報プロバイダーを初期化できます。この方法では内部的に STS トークンを使用します。RAM ロールの ARN (Alibaba Cloud リソースネーム) を指定することで、認証情報ツールは STS サービスから STS トークンを取得し、セッションの有効期限が切れる前に AssumeRole API を呼び出して新しい STS トークンを要求します。また、policy に値を割り当てることで、RAM ロールの権限をより小さいセットに制限できます。

重要
  • Alibaba Cloud アカウントは、そのリソースに対して完全な権限を持ちます。Alibaba Cloud アカウントの AccessKey ペアが漏洩すると、システムに重大なセキュリティリスクが生じます。最小限の必要な権限を持つ RAM ユーザーの AccessKey ペアを使用することを推奨します。

  • RAM ユーザーの AccessKey ペアを作成するには、「AccessKey ペアの作成」をご参照ください。RAM ユーザーの AccessKey ID および AccessKey Secret は、作成時にのみ表示されます。すぐに保存する必要があります。AccessKey ペアを忘れた場合は、新しいものを作成して認証情報をローテーションしてください。

  • RAM ロール ARN を取得するには、「ロールの作成」をご参照ください。

次の設定ファイルを作成し、~/.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

ECS インスタンス RAM ロール

アプリケーションが ECS インスタンス、ECI インスタンス、または Container Service for Kubernetes のワーカーノード上で実行されている場合は、ECSRAMRole を使用して認証情報プロバイダーを初期化することを推奨します。この方法では、基盤となる実装で STS トークンを使用します。ECSRAMRole を使用すると、ECS インスタンス、ECI インスタンス、または Container Service for Kubernetes のワーカーノードにロールを関連付けて、インスタンス内で STS トークンを自動的に更新できます。この方法では、AccessKey (AK) や STS トークンを提供する必要がなく、手動での管理に伴うリスクを排除します。ECSRAMRole の取得方法の詳細については、「ロールの作成」をご参照ください。

説明

この方法は、環境変数を使用して設定できません。

EcsRamRole モード

設定ファイル

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

[default]
mode = EcsRamRole
# ecsRoleName パラメーターはオプションです。設定しない場合、ロールは自動的に取得されます。
ecsRoleName = EcsRamRoleOss 
region=ap-southeast-1

次のコマンドを実行して、examplebucket のオブジェクトを照会します。

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

CLI

次のコマンドを実行して、examplebucket のオブジェクトを照会します。

ossutil ls oss://examplebucket --mode EcsRamRole

EcsRamRole IMDSv2 モード

説明

EcsRamRole IMDSv2 モードは、ossutil 2.2.0 以降でサポートされています。

設定ファイル

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

[default]
mode = Ali-EcsRamRole
# ecsRoleName パラメーターはオプションです。設定しない場合、ロールは自動的に取得されます。
ecsRoleName = EcsRamRoleOss 
region=ap-southeast-1

次のコマンドを実行して、examplebucket のオブジェクトを照会します。

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

CLI

次のコマンドを実行して、examplebucket のオブジェクトを照会します。

ossutil ls oss://examplebucket --mode Ali-EcsRamRole

OIDC ロール ARN

Container Service for Kubernetes でワーカーノード RAM ロールを設定すると、そのノード上の Pod 内のアプリケーションは、ECS インスタンスにデプロイされたアプリケーションと同様に、メタデータサービスを通じて関連付けられたロールの STS トークンを取得できます。ただし、顧客が提出したクローズドソースコードのアプリケーションなど、信頼できないアプリケーションがコンテナクラスターにデプロイされている場合、ワーカーノードインスタンスに関連付けられた RAM ロールの STS トークンをメタデータサービスを通じて取得させたくないことがあります。クラウドリソースのセキュリティを損なうことなく、これらの信頼できないアプリケーションが安全に必要な STS トークンを取得し、アプリケーションレベルの最小権限を実装できるようにするには、RRSA (RAM Roles for Service Account) 機能を使用できます。この方法は STS トークンに基づいています。Alibaba Cloud コンテナクラスターは、各アプリケーション Pod に対して対応するサービスアカウント OIDC トークンファイルを作成およびマウントし、関連する設定情報を環境変数に注入します。認証情報ツールは、環境変数から設定情報を取得し、STS サービスの AssumeRoleWithOIDC API を呼び出して OIDC トークンとロールに関連付けられた STS トークンを交換します。この方法では、Access Key (AK) や STS トークンを提供する必要がなく、AK や STS トークンを手動で管理するリスクを排除します。詳細については、「RRSA を使用して ServiceAccount の RAM 権限を設定し、Pod レベルの権限隔離を実装する」をご参照ください。

次の設定ファイルを作成し、~/.ossutilconfig として保存します。この設定は、環境変数またはコマンドラインオプションを使用して指定できません。

[default]
mode = oidcRoleArn
# OIDC プロバイダーの ARN (Aliyun リソースネーム) を指定します。形式は acs:ram::account-id:oidc-provider/provider-name です。
OIDCProviderArn=acs:ram::113511544585****:oidc-provider/TestOidcProvider
# OIDC トークンが保存されているファイルパスを指定します。
OIDCTokenFilePath=OIDCTokenFilePath
# アサインするロールの ARN を指定します。形式は acs:ram::account-id:role/role-name です。
roleArn=acs:ram::113511544585****:role/testoidc
# 異なるトークンを区別するためのカスタムロールセッション名を指定します。
roleSessionName= TestOidcAssumedRoleSession
region=ap-southeast-1

次のコマンドを実行して、examplebucket のオブジェクトを照会します。

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

外部プロセス認証情報

ossutil は、外部コマンドを実行して認証情報を取得できます。外部プロセスは、標準出力 (stdout) を通じて認証情報を 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

匿名アクセス

public-read 権限を持つ 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

コマンド一覧

  • 高レベルコマンド

    これらのコマンドは、バケットおよびオブジェクトの管理に使用します。バケットの作成および削除、データのコピー、オブジェクトプロパティの変更が可能です。

    コマンド名

    意味

    mb

    バケットの作成

    rb

    バケットの削除

    du

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

    stat

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

    mkdir

    サフィックス文字 / で終わるオブジェクトを作成

    append

    追加可能なオブジェクトに内容を追加

    cat

    オブジェクトの内容を標準出力に連結

    ls

    バケットまたはオブジェクトの一覧表示

    cp

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

    rm

    バケット内のオブジェクトの削除

    set-props

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

    presign

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

    restore

    オブジェクトを凍結ステータスから読み取り可能な状態に復元

    revert (restore version)

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

    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 設定をオプションの値として直接指定することもできます。コンパクトな 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 -

コマンド出力の制御

出力形式

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 Specification」をご参照ください。

たとえば、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、または Pi サフィックス (基数 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 を実行する場合、最終的なリターンコードを確認して結果を検証できます。このコードは、操作が成功したかどうかを示し、プログラムによるエラー処理を可能にします。

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 バケット一覧"

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

パラメーター

タイプ

説明

-i, --access-key-id

文字列

OSS にアクセスするための AccessKey ID を指定します。

-k, --access-key-secret

文字列

OSS にアクセスするための AccessKey Secret を指定します。

--addressing-style

文字列

リクエストアドレッシングスタイルを指定します。有効値:

  • virtual (デフォルト):仮想ホスト型を有効にします

  • path:パスモードを有効にします。

  • cname:カスタムドメイン名モードを有効にします。

-c, --config-file

文字列

設定ファイルのパスを指定します。デフォルトパスは ~/.ossutilconfig です。

--connect-timeout

int

接続タイムアウト (秒単位)。デフォルト値は 10 です。

-n, --dry-run

/

実行せずに、実行される操作を表示します。

-e, --endpoint

文字列

接続するサービスエンドポイントを指定します。

-h, --help

/

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

--language

文字列

表示言語を指定します。

--loglevel

文字列

ログレベルを指定します。有効値:

  • off (デフォルト)

  • info

  • debug

--mode

文字列

認証モードを指定します。有効値:

  • AK:AccessKey ペアで認証します。

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

  • EcsRamRole:ECS インスタンス RAM ロールで認証します。

  • Anonymous:匿名アクセスを使用します。

--output-format

文字列

出力形式を指定します。デフォルト値は raw です。

--output-query

文字列

JMESPath クエリ条件を指定します。

--profile

文字列

設定ファイルから使用するプロファイルを指定します。

-q, --quiet

/

エラー以外のすべての出力を抑制します。

--read-timeout

int

読み取りおよび書き込みリクエストのタイムアウト (秒単位)。デフォルト値は 20 です。

--region

文字列

リクエストのターゲットリージョン。たとえば、cn-hangzhou に設定できます。

--retry-times

int

失敗したリクエストのリトライ回数を指定します。デフォルト値は 10 です。

--sign-version

文字列

リクエストの署名アルゴリズムバージョンを指定します。有効値:

  • v1

  • v4 (デフォルト)

--skip-verify-cert

/

サーバー側の SSL 証明書検証を無効にします。

-t, --sts-token

文字列

OSS にアクセスするための STS トークンを指定します。

--proxy

文字列

使用するプロキシサーバーを指定します。このオプションはバージョン 2.0.1 以降で利用可能です。

有効値:

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

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

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

  • env:環境変数 HTTP_PROXY および HTTPS_PROXY からプロキシ設定を使用します。これらの環境変数はオペレーティングシステムで設定する必要があります。例:

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

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

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

--log-file

文字列

ログ出力ファイルを指定します。このオプションはバージョン 2.0.1 以降で利用可能です。値は以下のとおりです。

  • -:ログを標準出力 (stdout) に書き込みます。

  • ファイルパス:ログを指定されたファイルパスに書き込みます。

このオプションを指定しない場合、ログはデフォルトのログファイルに書き込まれます。

--cloudbox-id 

文字列

CloudBox ID を指定します。このオプションは CloudBox シナリオで使用され、バージョン 2.1.0 以降で利用可能です。

--ignore-env-var

/

OSS_ 接頭辞を持つすべての環境変数を無視します。このオプションはバージョン 2.2.0 以降で利用可能です。

--bind-address

文字列

アウトバウンド接続をバインドするローカル IP アドレス (IPv4 または IPv6) を指定します。このオプションはバージョン 2.2.0 以降で利用可能です。

--account-id

文字列

アカウント ID を指定します。これは、ベクターバケットシナリオでの本人確認およびリソース所有権に使用されます。このオプションはバージョン 2.2.0 以降で利用可能です。

--user-agent

文字列

指定された値をデフォルトの User-Agent 文字列に追加します。このオプションはバージョン 2.2.2 以降で利用可能です。

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

コマンドスコープ

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

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

  • --encoding-type string:入力オブジェクトまたはファイル名のエンコーディングタイプを指定します。有効値は url です。

  • --request-payer string:リクエストの支払者を指定します。リクエスト元支払いモードを使用するには、この値を requester に設定します。

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

  • --start-after/--end-with (, ] :クエリのキー範囲を設定します。範囲は開始値を除外し、終了値を含みます。

  • フィルターオプション:オブジェクトまたはファイル名、ディレクトリ、サイズ、タイムスタンプ、オブジェクトのメタデータに基づいてフィルター条件を設定できます。詳細なフィルタールールについては、「フィルターオプション」をご参照ください。

  • --limited-num:クエリ API によって返される結果の数を制限します。

  • --recursive/-r:ディレクトリ内のすべてのファイルまたはオブジェクトを再帰的に処理します (サブディレクトリを含む)。

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

    説明

    オブジェクトの場合、これはデリミタを使用してシミュレートされます。これには、指定されたプレフィックスを持つすべてのオブジェクトをスキャンする必要があるため、オブジェクト数が多い場合は時間がかかる可能性があります。

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

  • --list-objects:ListObjects API オペレーションを使用してオブジェクトを一覧表示します。

送信先フィルタールールをサポートするコマンド

  • --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:リストファイル形式の説明をファイルから読み取ります。このパラメーターは、--list-format が inventory に設定されている場合に必須です。

よくある質問

Ossutil エラー:region must be set in sign version 4

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

解決策:エラーを防ぐために、AccessKey ID、AccessKey Secret、およびリージョン ID の以下の必須項目を設定してください。署名バージョンが V4 にアップグレードされたため、リージョン ID は必須です。リージョン ID の取得方法の詳細については、「リージョンとエンドポイント」をご参照ください。