如何从 Jupyter 笔记本将字符串传递给 IPython 中的 boto3 函数?
How do I pass a string to a boto3 function in IPython from a Jupyter notebook?
我正在 Jupyter 中设置一个环境,允许用户从 AWS Glue 查询他们的数据库架构。 Jupyter line magic 接受 2 个参数:数据库名称和 table 名称。
然后使用 split() 解析这些参数,并将其分成两个参数:数据库和 table。
将这些传递给 glue.get_table 调用的最佳方法是什么?哪个接受我之前在代码中明确声明的 2 个参数?
我是 Python 的新手,可能在这里缺少明显的答案,但我目前将它们作为字符串变量传递。
@line_magic('describe')
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 中,就像我自己写的一样,但我看到了
类型错误:在字符串格式化期间并非所有参数都已转换
在 glue.get_table() 函数中被抛出
试试这个:
response = glue.get_table(DatabaseName=database, Name=view)
我正在 Jupyter 中设置一个环境,允许用户从 AWS Glue 查询他们的数据库架构。 Jupyter line magic 接受 2 个参数:数据库名称和 table 名称。
然后使用 split() 解析这些参数,并将其分成两个参数:数据库和 table。
将这些传递给 glue.get_table 调用的最佳方法是什么?哪个接受我之前在代码中明确声明的 2 个参数?
我是 Python 的新手,可能在这里缺少明显的答案,但我目前将它们作为字符串变量传递。
@line_magic('describe') 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 中,就像我自己写的一样,但我看到了
类型错误:在字符串格式化期间并非所有参数都已转换
在 glue.get_table() 函数中被抛出
试试这个:
response = glue.get_table(DatabaseName=database, Name=view)