如何在 python 中创建粘合搜索脚本

how to create a glue search script in python

所以我被要求编写一个 python 脚本来提取我们 aws 帐户中的所有 Glue 数据库,然后在 CSV 文件中列出数据库中的所有表和分区?它现在仅 运行 在桌面上是可以接受的,真的很喜欢一些关于如何做的指导 this/direction 因为我是一个新的大三学生并且想探索我的选择在回到我的经理那里之前

格式: layout of csv file

可以使用 Boto3 轻松完成 - https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client

我会为你开始,剩下的你自己想。

import boto3
glue_client = boto3.client('glue')
db_name_list = [db['Name'] for db in glue_client.get_databases()['DatabaseList']]
    

我没有测试过这段代码,但它应该会创建一个包含所有数据库名称的列表。从这里您可以使用此信息 运行 嵌套循环来获取您的表 get_tables(DatabaseName= ...) 然后是您的分区 get_partitions(DatabaseName=...,TableName=...).

请务必阅读文档以仔细检查您提供的参数是否正确。

编辑:如果要返回大量值,您可能还需要使用分页器。最佳做法是对所有三个调用都使用分页器,这意味着每一步都有一个额外的循环。关于分页器的文档在这里 - https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Paginator.GetDatabases

并且有很多关于如何使用它的 Whosebug 示例。