gpt4 book ai didi

python - Boto3 Athena 未显示所有表格

转载 作者:行者123 更新时间:2023-12-01 02:21:11 25 4
gpt4 key购买 nike

尝试使用 BOTO3 python 获取 Athena Table 中的表名称列表。

这是我的代码;我认为我尝试做分页器是不正确的。感谢任何帮助

import boto3

client = boto3.client('glue')
responseGetDatabases = client.get_databases()
databaseList = responseGetDatabases['DatabaseList']

for databaseDict in databaseList:
databaseName = databaseDict['Name']
if "dbName_" in databaseName:
print '\ndatabaseName: ' + databaseName
responseGetTables = client.get_tables( DatabaseName = databaseName )
paginator = client.get_paginator(['TableList'])
for page in paginator:
tableList = responseGetTables['TableList']
for tables in tableList:
print tables['Name']

最佳答案

get_paginator 函数参数必须是操作的名称。看来您正在尝试对 get_tables 函数进行分页,所以

    paginator = client.get_paginator(['TableList'])

应该是:

    paginator = client.get_paginator('get_tables')

获得分页器对象后,您需要调用 paginator.paginate 来检索迭代器。您可以像这样发送数据库参数:

    page_iterator = paginator.paginate(
DatabaseName=databaseDict['Name'],
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)

请参阅此函数的文档 here .

现在您已经有了迭代器,您可以通过枚举来调用 for 循环:

for page_index, page in enumerate(page_iterator):

关于python - Boto3 Athena 未显示所有表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47933931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com