Как передать строку в функцию boto3 в IPython из записной книжки Jupyter? - PullRequest
0 голосов
/ 14 мая 2019

Я настраиваю среду в Jupyter, которая позволяет пользователю запрашивать свою схему базы данных из AWS Glue.Волшебство линии Jupyter принимает 2 аргумента: имя базы данных и имя таблицы.

Затем эти аргументы анализируются с помощью split () и разделяются на два аргумента: база данных и таблица.

Как лучше всего передать их в вызов glue.get_table?Который принимает 2 аргумента, которые я ранее явно заявлял в коде?

Я довольно новичок в Python и, возможно, здесь отсутствует очевидный ответ, но в настоящее время я передаю их как строковые переменные.

@ line_magic ('description') def description (self, line, local_ns = None):

database = line.split(" ")[0]
view     = line.split(" ")[1]

glue = boto3.client('glue', region_name=ec2_metadata.region)        
response = glue.get_table(DatabaseName='%s', Name='%s' % (database, view))

Я ожидаю, что эти значения будут переданы в boto, как будто я должен был написать их сам, но я вижу

TypeError: notвсе аргументы, преобразованные во время форматирования строки

, добавляются в функцию glue.get_table ()

1 Ответ

0 голосов
/ 14 мая 2019

Попробуйте это:

response = glue.get_table(DatabaseName=database, Name=view)
...