How to use Boto3 to get tags from an AWS Glue Resources

In this article, we will see how to get the tags associated with AWS Glue Resources using the boto3 library in Python. Tags help organize and manage AWS resources by assigning key-value pairs for identification and billing purposes.

AWS Glue Resource ARN Formats

The resource_arn parameter requires a specific format depending on the resource type ?

Resource Type ARN Format
Catalog arn:aws:glue:region:account-id:catalog
Database arn:aws:glue:region:account-id:database/database-name
Table arn:aws:glue:region:account-id:table/database-name/table-name
Connection arn:aws:glue:region:account-id:connection/connection-name
Crawler arn:aws:glue:region:account-id:crawler/crawler-name
Job arn:aws:glue:region:account-id:job/job-name
Trigger arn:aws:glue:region:account-id:trigger/trigger-name

Implementation Steps

Follow these steps to retrieve tags from AWS Glue resources ?

  • Step 1: Import boto3 and botocore.exceptions for error handling
  • Step 2: Create an AWS session with proper credentials
  • Step 3: Initialize the Glue client
  • Step 4: Use get_tags() method with the resource ARN
  • Step 5: Handle exceptions appropriately

Example Code

Here's a complete example to get tags from an AWS Glue database ?

import boto3
from botocore.exceptions import ClientError

def get_tags_from_resource(resource_arn):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.get_tags(ResourceArn=resource_arn)
        return response
    except ClientError as e:
        raise Exception("boto3 client error in get_tags_from_resource: " + str(e))
    except Exception as e:
        raise Exception("Unexpected error in get_tags_from_resource: " + str(e))

# Example usage
resource_arn = "arn:aws:glue:us-east-1:123456789012:database/test-db"
result = get_tags_from_resource(resource_arn)
print(result)

Sample Output

The function returns a dictionary containing the tags and response metadata ?

{
    'Tags': {
        'glue-db': 'test', 
        'Environment': 'Development'
    }, 
    'ResponseMetadata': {
        'RequestId': 'c9f418b0-8d02-4a26-b123-456789abcdef', 
        'HTTPStatusCode': 200, 
        'HTTPHeaders': {
            'date': 'Fri, 02 Apr 2021 08:04:54 GMT', 
            'content-type': 'application/x-amz-json-1.1', 
            'content-length': '45', 
            'connection': 'keep-alive'
        }, 
        'RetryAttempts': 0
    }
}

Key Points

  • Ensure your AWS credentials are properly configured
  • The resource ARN must be valid and the resource must exist
  • Handle ClientError for AWS-specific errors
  • The response includes both tags and metadata information

Conclusion

Using boto3's get_tags() method allows you to retrieve all tags associated with AWS Glue resources. This is useful for resource management, cost tracking, and automation scripts that need to work with tagged resources.

---
Updated on: 2026-03-25T18:50:37+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements