我正在Jupyter中设置一个环境,该环境允许用户从AWS Glue查询其数据库架构。 Jupyter线魔术师接受2个参数:数据库名称和表名称。
然后使用split()解析这些参数,并将其分为两个参数:数据库和表。
将这些参数传递给gel.get_table调用的最佳方法是什么?哪个接受我之前在代码中明确声明的2个参数?
我是Python的新手,可能在这里找不到明显的答案,但是我目前正在将它们作为字符串变量传递。
@line_magic('描述') def describe(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:在字符串格式化期间并非所有参数都已转换
被抛出到了gel.get_table()函数上
答案 0 :(得分:0)
尝试一下:
response = glue.get_table(DatabaseName=database, Name=view)