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

Object Storage Service:ossutil 2.0 CLI

最終更新日:Oct 22, 2026

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

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

アーキテクチャ

ダウンロードリンク

SHA256 チェックサム

Linux

x86_32

ossutil-2.4.1-linux-386.zip

b14ef9731a52c72de3c66819b451a6af494f34d73316089a17cc318c03f614e8

x86_64

ossutil-2.4.1-linux-amd64.zip

57ee4c56796a40144acd6b0b96b53b4ba75e5cec09c01d8d0313c09a5524022f

arm32

ossutil-2.4.1-linux-arm.zip

cc10243a4bd572716dce53ffa7d2adebe7cf74170055c83f26d72130c605ec7a

arm64

ossutil-2.4.1-linux-arm64.zip

be17e13f9e61ffeede0f0d3054bd0f4f146965f0f845bb8ec2ff88c5eb5638ed

macOS

x86_64

ossutil-2.4.1-mac-amd64.zip

455b11095c3f88ae20cedaa479a6ea03db6502fbaae9ce949d6c69c6cc7d1949

arm64

ossutil-2.4.1-mac-arm64.zip

8ef710374d051817fe4483a34bf9fcdc26c1decb62dd69573f5e40d1485b45c1

Windows

x86_32

ossutil-2.4.1-windows-386.zip

791cad87afeb44da1c937ed9328c2af8960cd9fe86ca942ba99e8b5ec5c333b6

x86_64

ossutil-2.4.1-windows-amd64.zip

06ebec1680ce68b1807393e65a1e3f5f99c3b69c9b47c40578a80187da4462c3

x86_64

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

aca033af4dad292c4370ebbd5b221d8f0cd2c521eaa674c1efb23790a271bac4

クイックスタート

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

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

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

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

    cd ossutil-2.4.1-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 バケットから localfolder ディレクトリに uploadFile.txt ファイルをダウンロードします。

    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 アカウントまたは 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

アプリケーションで、Alibaba Cloud アカウントをまたいだ OSS へのアクセスなど、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

Container Service for Kubernetes (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 (Aliyun Resource Name) を指定します。 フォーマットは 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

フラグを複数回指定することをサポートします。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) を持つ形式に変換されます。

例:生データモード

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 (, ]:クエリのキー範囲を設定します。範囲は開始値を含まず、終了値を含みます。

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

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