set-meta コマンドは、アップロードされたオブジェクトのオブジェクトメタデータを設定する場合に使用します。

コマンド構文

./ossutil set-meta oss://bucket[/prefix] [header:value#header:value...] [--update] [--delete] [-r] [-f] [-c file]

  • 特定のオブジェクトのメタデータを設定する
    ./ossutil set-meta oss://bucket1/path/object x-oss-object-acl:private 

    --update オプションと --delete オプションを指定しない場合、既存のメタデータは、指定したメタデータに置き換えられます。 [header:value#header:value...] オプションを指定しない場合、削除できないヘッダー (プレフィックスが X-Oss-meta 以外のヘッダーなど) の値は変更されません。 他のメタデータは削除されます。

    ヘッダーは大文字と小文字が区別されませんが、値は大文字と小文字が区別されます。 オブジェクトに設定できるヘッダーのリストは次のとおりです。
    Headers:
          Expires(time.RFC3339:2006-01-02T15:04:05Z07:00)
          X-Oss-Object-Acl
          Origin
          X-Oss-Storage-Class
          Content-Encoding
          Cache-Control
          Content-Disposition
          Accept-Encoding
          X-Oss-Server-Side-Encryption
          Content-Type
          and headers with the X-Oss-Meta- prefix.

    詳細は、「Object Meta の管理」をご参照ください。

  • 特定のプレフィックスで始まるオブジェクトのメタデータを設定する
    ./ossutil set-meta oss://bucket1/path/ Cache-Control:no-cache#x-oss-object-acl:private -r                             

    -r オプションを指定すると、指定したプレフィックスで始まる複数のオブジェクトのメタデータが設定されます。 オブジェクトの操作中にエラーが発生すると、オブジェクトのエラー情報がレポートオブジェクトに記録され、他のオブジェクトの操作が続行されます。 処理されたオブジェクトの情報は、レポートオブジェクトに記録されません。 複数のメタデータ項目をシャープ記号 (#) で区切ります。

  • 特定のオブジェクトのメタデータを更新する
    ./ossutil set-meta oss://bucket1/path/object x-oss-object-acl:private --update

    このコマンドでは、入力値として指定したオブジェクトの指定したヘッダーのみが更新されます。 ヘッダー値は null にできます。 指定したオブジェクトの他のメタデータは変更されません。 --update (短縮形 -u) オプションと --delete オプションは同時に指定できません。

  • 特定のオブジェクトのメタデータを削除する
    ./ossutil set-meta oss://bucket1/obj1 X-Oss-Meta-delete --delete

    --delete オプションを指定した場合、指定したオブジェクトヘッダーが削除され、値は null になります。 オブジェクトの他のメタデータは変更されません。 このオプションは、削除できないヘッダー (プレフィックスが X-Oss-Meta 以外のヘッダーなど) には無効です。 --update オプションと --delete オプションは同時に指定できません。

  • 特定の条件を満たす複数のオブジェクトのメタデータを設定する
    メタデータを設定するとき、 --include/--exclude コマンドを使用して、指定した条件を満たすオブジェクトを選択できます。 詳細は、「cp」をご参照ください。
    • 拡張子が jpg のオブジェクトを低頻度アクセス (IA) ストレージクラスに設定する
      ./ossutil64 set-meta oss://my-bucket/path X-Oss-Storage-Class:IA --include "*.jpg" -u -r                                        
    • 名前に abc を含むオブジェクトと、形式が jpg または txt 以外のオブジェクトを標準ストレージクラスに設定する
      ./ossutil set-meta oss://my-bucket/path X-Oss-Storage-Class:Standard --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -u -r
  • バージョン管理が有効になっているバケットにあるオブジェクトの特定バージョンのメタデータを設定する
    ./ossutil set-meta oss://bucket1/test.jpg X-Oss-Storage-Class:Standard --version-id  CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk
    --version-id オプションを使用するには、ls --all-versions コマンドを実行して、オブジェクトの使用可能な全バージョンを取得する必要があります。
    --version-id オプションは、バージョン管理が有効になっているバケット内のオブジェクトにのみ使用できます。 バケットのバージョン管理を有効にするコマンドの詳細は、「bucket-versioning」をご参照ください。

一般的なオプション

次の表に、set-meta コマンドに追加できるオプションを示します。
オプション 説明
-u、--update 特定のオブジェクトのメタデータを更新します。
--delete 特定のオブジェクトのメタデータを削除します。
-r、--recursive バケット内のオブジェクトに対して操作を再帰的に実行します。 このオプションが指定されている場合、このオプションをサポートするコマンドは、指定された条件を満たすバケット内のすべてのオブジェクトに対して操作を実行します。 このオプションが指定されていない場合、コマンドは指定された 1 つのオブジェクトに対してのみ操作を実行します。
-f、--force ユーザーに確認を求めずに操作を強制します。
--include *.jpg など、特定の文字列に一致するオブジェクトを含めます。
--exclude *.txt など、特定の文字列に一致するオブジェクトを除外します。
--encoding-type オブジェクト名のエンコードタイプを指定します。 このオプションを指定する場合、値は url でなければなりません。 このオプションが指定されていない場合、オブジェクト名はエンコードされません。 バケット名は URL エンコードできません。
-j、--jobs 複数のオブジェクトが操作される場合の同時タスク数を指定します。 有効値:1~10000。 デフォルト値:3。
-L、--language ossutil の使用言語を指定します。 有効値:CH と EN。 デフォルト値:CH。 このオプションを CH に設定するには、システムで UTF-8 エンコードがサポートされていることを確認してください。
--output-dir 出力オブジェクトのディレクトリを指定します。 出力オブジェクトには、cp コマンドで複数のオブジェクトをコピーしたときのエラーが原因で生成されるレポートオブジェクトが含まれます。レポートオブジェクトの詳細は、cp コマンドのヘルプ情報をご参照ください。 デフォルト値は、現在のディレクトリの ossutil_output ディレクトリです。
--loglevel ログレベルを指定します。 デフォルト値は null で、ログファイルが生成されないことを示します。 有効値:
  • info:プロンプトログを生成します。
  • debug:対応する HTTP リクエストとレスポンス情報を含む詳細なログを生成します。
--version-id バージョン管理が有効になっているバケットにあるオブジェクトのバージョン ID を指定します。
--retry-times 操作が失敗した場合に操作を再試行する回数を指定します。 有効値:1~500。 デフォルト値:10。
--proxy-host プロキシサーバーの URL を指定します。 HTTP、HTTPS、SOCKS5 がサポートされています。 URL の例:http://120.79.**.**:3128、socks5://120.79.**.**:1080 など。
--proxy-user プロキシサーバーのユーザー名を指定します。 デフォルト値は null です。
--proxy-pwd プロキシサーバーのパスワードを指定します。 デフォルト値は null です。
一般的なオプションの詳細は、「サポートされているすべてのオプションの表示」をご参照ください。