How to use Boto3 to delete a workflow from AWS Data Catalog?

When working with AWS Data Catalog, you might need to delete workflows that are no longer needed. Boto3 provides a straightforward way to delete workflows from AWS Glue using the delete_workflow() method.

Prerequisites

Before deleting a workflow, ensure you have ?

  • AWS credentials configured
  • Boto3 library installed
  • Appropriate IAM permissions for Glue operations

Approach/Algorithm

Step 1 ? Import boto3 and botocore exceptions to handle exceptions.

Step 2 ? Pass the parameter workflow_name that should be deleted from AWS Glue Catalog.

Step 3 ? Create an AWS session using boto3 library. Make sure region_name is mentioned in default profile.

Step 4 ? Create an AWS client for glue.

Step 5 ? Call delete_workflow and pass the workflow_name as Name parameter.

Step 6 ? Handle exceptions appropriately for error scenarios.

Example

Here's a complete example to delete a workflow from your AWS account ?

import boto3
from botocore.exceptions import ClientError

def delete_a_workflow(workflow_name):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.delete_workflow(Name=workflow_name)
        return response
    except ClientError as e:
        raise Exception("boto3 client error in delete_a_workflow: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in delete_a_workflow: " + e.__str__())

# Delete workflow named 'test'
print(delete_a_workflow("test"))

Output

{'Name': 'test', 'ResponseMetadata': {'RequestId': 'xxxxxxxx-xxxx-xxxx-xxxx-59a9bc817e0f', 
'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 21 Feb 2021 05:37:11 GMT', 
'content-type': 'application/x-amz-json-1.1', 'content-length': '35', 
'connection': 'keep-alive', 'x-amzn-requestid': 'xxxxxxxx-xxxx-xxxx-xxxx-59a9bc817e0f'}, 
'RetryAttempts': 0}}

Key Points

  • If the workflow doesn't exist, AWS Glue doesn't throw an exception
  • The response includes metadata about the deletion operation
  • Make sure you have proper IAM permissions for glue:DeleteWorkflow
  • Consider backing up workflow definitions before deletion

Error Handling

The function handles two types of exceptions ?

  • ClientError ? AWS service-related errors
  • Generic Exception ? Unexpected errors during execution

Conclusion

Using Boto3's delete_workflow() method provides a simple way to remove workflows from AWS Data Catalog. Always ensure proper error handling and verify workflow names before deletion to avoid accidental data loss.

Updated on: 2026-03-25T18:16:17+05:30

195 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements