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

Object Storage Service:PutObjectTagging

最終更新日:Feb 20, 2025

オブジェクトにタグを追加、またはオブジェクトに追加されたタグを更新します。 オブジェクトに追加された各タグは、キーと値のペアです。

使用方法

  • 1 つのオブジェクトに最大 10 個のタグを追加できます。オブジェクトに追加されるタグには、一意のタグキーが必要です。

  • タグキーの長さは最大 128 文字です。タグ値の長さは最大 256 文字です。

  • タグキーとタグ値は大文字と小文字が区別されます。

  • タグのキーと値には、文字、数字、スペース、および次の特殊文字を含めることができます。

    + - = . _ : /

    HTTP ヘッダーのタグに文字が含まれている場合は、タグのキーと値に対して URL エンコードを実行する必要があります。

  • オブジェクトのタグを変更しても、オブジェクトの Last-Modified パラメーターは更新されません。

詳細については、「オブジェクトタグの設定」をご参照ください。

バージョン管理

デフォルトでは、PutObjectTagging を呼び出してオブジェクトにタグを追加、またはオブジェクトに設定されているタグを更新すると、タグはオブジェクトの現在のバージョンに追加されるか、現在のバージョンに設定されているタグが更新されます。リクエストで versionId パラメーターを指定して、オブジェクトの指定されたバージョンにタグを追加したり、指定されたバージョンのオブジェクトに設定されているタグを更新したりできます。指定されたバージョンが削除マーカーの場合、OSS は 404 Not Found を返します。

リクエスト構文

PUT /objectname?tagging
Content-Length: 114
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: Mon, 18 Mar 2019 08:25:17 GMT
Authorization: SignatureValue
<Tagging>
  <TagSet>
    <Tag>
      <Key>Key</Key>
      <Value>Value</Value>
    </Tag>
  </TagSet>
</Tagging>            

リクエスト要素

要素

タイプ

必須

説明

Tagging

コンテナー

はい

該当なし

最上位のコンテナー。

子ノード: TagSet

TagSet

コンテナー

はい

該当なし

タグ。

親ノード: Tagging

子ノード: Tag

Tag

コンテナー

いいえ

該当なし

タグ。

親ノード: TagSet

子ノード: Key と Value

Key

文字列

いいえ

a

タグのキー。

親ノード: Tag

子ノード: なし

Value

文字列

いいえ

1

タグの値。

親ノード: Tag

子ノード: なし

この操作には、共通のリクエストヘッダーも含まれます。詳細については、「共通の HTTP ヘッダー」をご参照ください。

  • バージョン管理されていないバケット内のオブジェクトにタグを追加する

    この例では、objectname という名前のオブジェクトが、bucketname という名前のバージョン管理されていないバケットに格納されています。PutObjectTagging リクエストが送信され、{a:1} および {b:2} タグが objectname という名前のオブジェクトに追加されます。2 つのタグがオブジェクトに追加されると、200 (OK) が返されます。

    リクエストの例

    PUT /objectname?tagging
    Content-Length: 114
    Host: BucketName.oss-cn-hangzhou.aliyuncs.com
    Date: Mon, 18 Mar 2019 08:25:17 GMT
    Authorization: OSS qn6q**************:77Dv****************
    <Tagging>
      <TagSet>
        <Tag>
          <Key>a</Key>
          <Value>1</Value>
        </Tag>
        <Tag>
          <Key>b</Key>
          <Value>2</Value>
        </Tag>
      </TagSet>
    </Tagging>

    レスポンスの例

    200 (OK)
    content-length: 0
    server: AliyunOSS
    connection: keep-alive
    x-oss-request-id: 5C8F55ED461FB4A64C00****
    date: Mon, 18 Mar 2019 08:25:17 GMT
  • バージョン管理が有効なバケット内のオブジェクトにタグを追加する

    この例では、objectname という名前のオブジェクトが、bucketname という名前のバージョン管理されたバケットに格納されています。PutObjectTagging リクエストが送信され、{age:18} タグが objectname の指定されたバージョンに追加されます。タグがオブジェクトに追加されると、200 (OK) が返されます。

    リクエストの例

    PUT /objectname?tagging&versionId=CAEQExiBgID.jImWlxciIDQ2ZjgwODIyNDk5MTRhNzBiYmQwYTZkMTYzZjM0****
    Content-Length: 90
    Host: BucketName.oss-cn-hangzhou.aliyuncs.com
    Date: Wed, 24 Jun 2020 08:58:15 GMT
    Authorization: OSS qn6q**************:77Dv****************
    <Tagging>
      <TagSet>
        <Tag>
          <Key>age</Key>
          <Value>18</Value>
        </Tag>
      </TagSet>
    </Tagging>

    レスポンスの例

    200 (OK)
    content-length: 0
    server: AliyunOSS
    connection: keep-alive
    x-oss-request-id: 5EF315A7FBD3EC3232B4****
    date: Wed, 24 Jun 2020 08:58:15 GMT
    x-oss-version-id: CAEQExiBgID.jImWlxciIDQ2ZjgwODIyNDk5MTRhNzBiYmQwYTZkMTYzZjM0****

SDK

次のプログラミング言語の OSS SDK を使用して、PutObjectTagging 操作を呼び出すことができます。

ossutil

PutObjectTagging 操作に対応する ossutil コマンドについては、「put-object-tagging」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

FileAlreadyExists

409

タグを設定または更新しようとしているオブジェクトは、階層型名前空間機能が有効になっているバケット内のディレクトリです。