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

Object Storage Service:ossutil 2.0 CLI

最終更新日:Aug 29, 2026

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

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

アーキテクチャ

ダウンロードリンク

SHA256 チェックサム

Linux

x86_32

ossutil-2.4.0-linux-386.zip

b6350a6c0c277961f138106e454e912189402dc45be364e83785a3292ce0a4e6

x86_64

ossutil-2.4.0-linux-amd64.zip

85edf66b2fb7238f5c7e25cab820cf29312319fe4935b7c86a6b8485eb434f3c

arm32

ossutil-2.4.0-linux-arm.zip

b377a9e4f4b79464176e2e122d7f8c9d3a3d1eae9703f71451c8cd5ef2b4b4fb

arm64

ossutil-2.4.0-linux-arm64.zip

7767240e9667d1f26fbe4e04f90b796b4356889e77d0076cc8a543c8ce081987

macOS

x86_64

ossutil-2.4.0-mac-amd64.zip

86685f129c76dbf94d7f9298152e24bb895289d866cb1a6115aa141c1a1b455b

arm64

ossutil-2.4.0-mac-arm64.zip

26e51080c6d6c9848fe3aea8a6b0cbd88453e65cd41c5a27573c59335a78a41d

Windows

x86_32

ossutil-2.4.0-windows-386.zip

4efe875059fe501ab66d88af68fa54d111279f8d25d657cb422a96e4da348137

x86_64

ossutil-2.4.0-windows-amd64.zip

dd68cffb62d88e59ff3d7fde6055ac7b8e2197e2adce7e540bcd6c706a2c4a49

x86_64

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

f74f2afa637a7f59caae6ba54e7b6c3aa57c8fce007c77cc10f4338321ab632c

クイックスタート

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

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

    cd ossutil-2.4.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.4.0-mac-arm64.zip  https://gosspublic.alicdn.com/ossutil/v2/2.4.0/ossutil-2.4.0-mac-arm64.zip
  2. ダウンロードディレクトリで、パッケージを解凍します。

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

    cd ossutil-2.4.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 の設定

設定漏れによるエラーを避けるため、ossutil の設定ウィザードを使用して、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 データセンターのリージョンを入力します。空白のままにすると、デフォルトで cn-hangzhou になります。

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

      リージョンを設定すると、ossutil はデフォルトで対応するパブリックエンドポイントを使用します。たとえば、region-id を ap-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 ユーザーは、中国本土リージョンにある 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 データセンターのリージョンを入力します。空白のままにすると、デフォルトで cn-hangzhou になります。

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

      リージョンを設定すると、ossutil はデフォルトで対応するパブリックエンドポイントを使用します。たとえば、region-id を ap-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 ユーザーが中国本土リージョンにある 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 になります。

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

      リージョンを設定すると、ossutil はデフォルトで対応するパブリックエンドポイントを使用します。たとえば、region-id を ap-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 ユーザーは、中国本土リージョンにある 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.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 形式を使用します。

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

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

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

サポートされているセクションの種類

セクション名

説明

注意

[default]

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

[profile default] の簡略形です。

[profile name]

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

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

[buckets name]

region、endpoint、addressing style など、特定のバケットのエンドポイントを設定します。

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

説明

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

プロファイル

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

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

    パラメーター

    エイリアス

    説明

    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 へのアクセスに使用されるセキュリティトークン。

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

バケット

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

[buckets name]
bucket-name = 
  key=value

このフォーマットでは、name は buckets セクションの名前、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 アカウント (root ユーザー) または 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 への一時的なアクセスを必要とする場合、Security Token Service (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 アカウント (root ユーザー) は、そのリソースに対して完全な権限を持っています。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 (ACK) のワーカーノードで実行されている場合、ECSRAMRole を使用して認証情報プロバイダーを初期化することを推奨します。この方法は、その基盤となる実装で STS トークンを使用します。ECSRAMRole を使用すると、ロールを ECS インスタンス、ECI インスタンス、または ACK のワーカーノードに関連付けて、インスタンス内で 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

ACK でワーカーノードの 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 (Alibaba Cloud リソースネーム) を指定します。フォーマットは 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 (バージョン復元)

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

    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

フラグを複数回指定することをサポートします。1 つのフラグで、カンマ (,) で区切られた複数の値を受け入れることもできます。

単一の値の複数のインスタンスをサポートします。

例:--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 仕様」をご参照ください。

たとえば、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 bucket list")。

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

パラメーター

タイプ

説明

-i, --access-key-id

string

OSS へのアクセスに使用する AccessKey ID を指定します。

-k, --access-key-secret

string

OSS へのアクセスに使用する AccessKey Secret を指定します。

--addressing-style

string

リクエストのアドレス指定スタイルを指定します。有効な値:

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

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

  • 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

/

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

-t, --sts-token

string

OSS へのアクセスに使用する STS トークンを指定します。

--proxy

string

使用するプロキシサーバーを指定します。このオプションはバージョン 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

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 を指定します。これは、ベクターバケットシナリオでの本人確認とリソース所有権に使用されます。このオプションはバージョン 2.2.0 以降で利用可能です。

--user-agent

string

指定された値をデフォルトの 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 の取得方法の詳細については、「リージョンとエンドポイント」をご参照ください。