В записной книжке, передавая строку в search (), которая анализирует список в словаре списков для данного ключа. Однако при реализации той же функции в коде выдается ошибка «Ошибка типа: строковые индексы должны быть целыми числами».
Список не содержит целых чисел, а функциональность, которую он предоставляет пользователю, позволяет ему запрашивать вывод из AWS Glue GetTable, чтобы найти конкретный элемент, который он ищет.
Это приводит к ошибке:
def search(ident, columns):
return [element for element in column if element['Name'] == ident]
try:
glue = boto3.client('glue', region_name=ec2_metadata.region)
response = glue.get_table(DatabaseName=database, Name=view)
columns = response.get('Table', {}).get('StorageDescriptor', {}).get('Columns', {})
results.append(search('identifier', columns))
Это не:
import boto3
glue = boto3.client('glue', region_name='us-east-1')
response = glue.get_table(DatabaseName='qa01_digital', Name='member_view')
column = response.get('Table', {}).get('StorageDescriptor', {}).get('Columns', {})
def search(ident, column):
return [element for element in column if element['Name'] == ident]
search('identifiers', column)```