如何使用Boto3从AWS Data Catalog中删除工作流?
当用户想要从AWS Data Catalog中删除工作流时。
示范 - 从您的帐户中删除工作流“test”。
问题陈述 - 使用Python中的boto3库删除可用于您的账户中的工作流。
更多Python相关文章,请阅读:Python 教程
解决这个问题的方法/算法
步骤1 − 导入boto3和botocore异常以处理异常。
步骤2 − 传递应从AWS Glue Catalog中删除的workflow_name参数。
步骤3 − 使用boto3库创建AWS会话。确保在默认配置文件中提供了region_name。如果未提供,则在创建会话时明确传递region_name。
步骤4 − 创建一个AWS glue客户端。
步骤5 − 调用delete_workflow并将workflow_name作为Name参数传递。
步骤6 − 它将删除workflow并返回响应元数据。请注意,如果在AWS Data Catalog中没有找到工作流,则不会抛出任何异常。
步骤7 − 如果在检查作业时出现问题,请处理通用异常。
示范
使用以下代码删除列在用户帐户中的工作流-
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__())
print(delete_a_workflow("test"))
输出
{'Name': 'test, 'ResponseMetadata': {'RequestId': '………..-………………….-
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':
…………………….-59a9bc817e0f'}, 'RetryAttempts': 0}}
极客教程