Amazon Simple Storage Service

2021/02/26 - Amazon Simple Storage Service - 2 updated api methods

Changes  Bugfixing the s3 arn endpoint parser Add RequestPayer to GetObjectTagging and PutObjectTagging.

GetObjectTagging (updated) Link ¶
Changes (request)
{'RequestPayer': 'requester'}

Returns the tag-set of an object. You send the GET request against the tagging subresource associated with the object.

To use this operation, you must have permission to perform the s3:GetObjectTagging action. By default, the GET operation returns information about current version of an object. For a versioned bucket, you can have multiple versions of an object in your bucket. To retrieve tags of any other version, use the versionId query parameter. You also need permission for the s3:GetObjectVersionTagging action.

By default, the bucket owner has this permission and can grant this permission to others.

For information about the Amazon S3 object tagging feature, see Object Tagging .

The following operation is related to GetObjectTagging :

See also: AWS API Documentation

Request Syntax

client.get_object_tagging(
    Bucket='string',
    Key='string',
    VersionId='string',
    ExpectedBucketOwner='string',
    RequestPayer='requester'
)
type Bucket

string

param Bucket

[REQUIRED]

The bucket name containing the object for which to get the tagging information.

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName -AccountId .s3-accesspoint.*Region* .amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide .

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName -AccountId .*outpostID* .s3-outposts.*Region* .amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide .

type Key

string

param Key

[REQUIRED]

Object key for which to get the tagging information.

type VersionId

string

param VersionId

The versionId of the object for which to get the tagging information.

type ExpectedBucketOwner

string

param ExpectedBucketOwner

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

type RequestPayer

string

param RequestPayer

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the Amazon S3 Developer Guide .

rtype

dict

returns

Response Syntax

{
    'VersionId': 'string',
    'TagSet': [
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • VersionId (string) --

      The versionId of the object for which you got the tagging information.

    • TagSet (list) --

      Contains the tag set.

      • (dict) --

        A container of a key value name pair.

        • Key (string) --

          Name of the object key.

        • Value (string) --

          Value of the tag.

PutObjectTagging (updated) Link ¶
Changes (request)
{'RequestPayer': 'requester'}

Sets the supplied tag-set to an object that already exists in a bucket.

A tag is a key-value pair. You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging .

For tagging-related restrictions related to characters and encodings, see Tag Restrictions . Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

To use this operation, you must have permission to perform the s3:PutObjectTagging action. By default, the bucket owner has this permission and can grant this permission to others.

To put tags of any other version, use the versionId query parameter. You also need permission for the s3:PutObjectVersionTagging action.

For information about the Amazon S3 object tagging feature, see Object Tagging .

Special Errors

    • Code: InvalidTagError

    • Cause: The tag provided was not a valid tag. This error can occur if the tag did not pass input validation. For more information, see `Object Tagging <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html>`__ .

    • Code: MalformedXMLError

    • Cause: The XML provided does not match the schema.

    • Code: OperationAbortedError

    • Cause: A conflicting conditional operation is currently in progress against this resource. Please try again.

    • Code: InternalError

    • Cause: The service was unable to apply the provided tag to the object.

    Related Resources

  • GetObjectTagging

  • DeleteObjectTagging

See also: AWS API Documentation

Request Syntax

client.put_object_tagging(
    Bucket='string',
    Key='string',
    VersionId='string',
    ContentMD5='string',
    Tagging={
        'TagSet': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    },
    ExpectedBucketOwner='string',
    RequestPayer='requester'
)
type Bucket

string

param Bucket

[REQUIRED]

The bucket name containing the object.

When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName -AccountId .s3-accesspoint.*Region* .amazonaws.com. When using this operation with an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide .

When using this API with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName -AccountId .*outpostID* .s3-outposts.*Region* .amazonaws.com. When using this operation using S3 on Outposts through the AWS SDKs, you provide the Outposts bucket ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see Using S3 on Outposts in the Amazon Simple Storage Service Developer Guide .

type Key

string

param Key

[REQUIRED]

Name of the object key.

type VersionId

string

param VersionId

The versionId of the object that the tag-set will be added to.

type ContentMD5

string

param ContentMD5

The MD5 hash for the request body.

For requests made using the AWS Command Line Interface (CLI) or AWS SDKs, this field is calculated automatically.

type Tagging

dict

param Tagging

[REQUIRED]

Container for the TagSet and Tag elements

  • TagSet (list) -- [REQUIRED]

    A collection for a set of tags

    • (dict) --

      A container of a key value name pair.

      • Key (string) -- [REQUIRED]

        Name of the object key.

      • Value (string) -- [REQUIRED]

        Value of the tag.

type ExpectedBucketOwner

string

param ExpectedBucketOwner

The account id of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

type RequestPayer

string

param RequestPayer

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the Amazon S3 Developer Guide .

rtype

dict

returns

Response Syntax

{
    'VersionId': 'string'
}

Response Structure

  • (dict) --

    • VersionId (string) --

      The versionId of the object the tag-set was added to.