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:GetObjectTaggingpermission. 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
-
For the complete sample code, see get_object_tagging.py.