All Products
Search
Document Center

Object Storage Service:Query the tags of an object using OSS SDK for Python 2.0

Last Updated:Jun 17, 2026

Query the tags of an object by using OSS SDK for Python 2.0.

Usage notes

  • The sample code in this topic uses the China (Hangzhou) region (cn-hangzhou) and a public endpoint. To access OSS from other Alibaba Cloud services in the same region, use an internal endpoint. For more information about supported regions and endpoints, see Regions and endpoints.

  • Object tags are key-value pairs. For more information, see Tag objects.

  • For the API operation used to query object tags, see GetObjectTagging.

  • To query object tags, you must have the oss:GetObjectTagging permission. For more information, see Grant custom permissions to a RAM user.

Method definition

get_object_tagging(request: GetObjectTaggingRequest, **kwargs) → GetObjectTaggingResult

Request parameters

Parameter

Type

Description

request

GetObjectTaggingRequest

The request parameters. For more information, see GetObjectTaggingRequest

Return values

Type

Description

GetObjectTaggingResult

The return value. For more information, see GetObjectTaggingResult

For the complete method definition, see get_object_tagging.

Sample code

The following code queries the tags of a specified object in a bucket.

import argparse
import alibabacloud_oss_v2 as oss

# Create a command-line argument parser to process parameters passed in by users from the command line.
parser = argparse.ArgumentParser(description="get object tagging sample")

# Add required and optional command-line arguments.
# --region: The region where the OSS bucket is located.
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
# --bucket: The name of the bucket.
parser.add_argument('--bucket', help='The name of the bucket.', required=True)
# --endpoint: An optional parameter that specifies the domain name used to access OSS.
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS')
# --key: The key of the object (file) in OSS.
parser.add_argument('--key', help='The name of the object.', required=True)

def main():
    # Parse the command-line arguments.
    args = parser.parse_args()

    # Load the required authentication credentials for OSS from environment variables.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Create a configuration object using the default configurations provided by the SDK.
    cfg = oss.config.load_default()

    # Set the credential provider to the previously created object.
    cfg.credentials_provider = credentials_provider

    # Set the region for the OSS client based on user input.
    cfg.region = args.region

    # If the user provides a custom endpoint, update the configuration.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Create an OSS client instance using the preceding configurations.
    client = oss.Client(cfg)

    # Query the tag of the specified object.
    result = client.get_object_tagging(oss.GetObjectTaggingRequest(
        bucket=args.bucket,
        key=args.key,
    ))

    # Print the result.
    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
          f' version id: {result.version_id},'
    )

    # If tags exist, traverse and print the key-value pair of each tag.
    if result.tag_set.tags:
        for o in result.tag_set.tags:
            print(f'tags key: {o.key}, tags value: {o.value}')

# Call the main function when this script is run.
if __name__ == "__main__":
    main()

Reference