如何使用Boto3分页浏览AWS Glue中的所有作业
阅读更多:Python 教程
前言
AWS Glue是一项可完全托管的ETL(提取,转换和加载)服务,它使您能够在亚秒级别内在云中移动和转换数据,以便您可以分析并使用它进行操作。本文介绍如何使用Boto3查询AWS Glue的作业,并且使用分页的方式来获取所有作业。
步骤
- 安装Boto3
pip install boto3
- 创建一个AWS Glue的客户端
import boto3 client = boto3.client('glue')
- 设置分页的参数
PAGE_SIZE = 10 # 每页10个作业 NEXT_TOKEN = None # 接下来的作业很多,所以需要分页来获取 jobs = []
- 建立循环,分页获取作业信息
while True: if NEXT_TOKEN: response = client.get_jobs(MaxResults=PAGE_SIZE, NextToken=NEXT_TOKEN) else: response = client.get_jobs(MaxResults=PAGE_SIZE) jobs += response['Jobs'] if 'NextToken' in response: NEXT_TOKEN = response['NextToken'] else: break
- 输出获得的作业列表
for job in jobs: print(job['Name'])
以上就是全部的代码,通过循环以及NEXT_TOKEN参数来分页获取AWS Glue的所有作业列表,并且可以逐个输出它们的名字信息。
结论
AWS Glue提供了一种很棒的方法来移动和转换数据,但是当你有许多作业的时候,可能需要通过分页的方式来获取它们。使用Boto3可以轻松实现这一点,并且可以将结果以JSON格式输出。