我开始使用Spanner Python客户端(在appengine flex上),但在尝试重用doc示例时我碰到了一些问题。 我面临的一个问题是尝试阅读数据库:
execute_sql()返回空集(即使是简单的' SELECT 1'查询)
with database.snapshot() as snapshot:
QUERY = ('SELECT 1')
result = snapshot.execute_sql(QUERY)
for row in result.rows:
print(row)
read()返回一个" AttributeError:' list'对象没有属性' to_pb'"错误,我是否
尝试将整个键集构建为字典
keyset = {'keys': ['f0_'],
'ranges': [{'startClosed': [], 'endClosed': [500]}],
'all': False}
直接传递价值清单
keyset = [0, 1, 2]
尝试使用Keyset()构造函数告诉我扳手没有键集成员 AttributeError:'模块' object没有属性' keyset'
keys = ['f0_']
ranges = spanner.keyset.KeyRange(start_closed=[], end_closed=[500])
keyset = {
'keys': keys,
'ranges': ranges,
'all': False}
keyset = spanner.keyset.Keyset(keys=keys, ranges=[range])
所以我有点卡住了,我想知道是否有我做错的事情或者示例/文档需要一点点贬值...... 任何帮助表示赞赏:)
答案 0 :(得分:0)
对于迟到的回复感到抱歉,但您可以像这样使用KeyRange
和Keyset
。此外,.consume_all()
将来很可能是私密的。您应该使用list
来获得所需的答案。
...
range = spanner.KeyRange(start_closed=[START], end_closed=[END])
keyset = spanner.KeySet(ranges=(closed_closed,))
rows = list(snapshot.read(self.TABLE, self.COLUMNS, keyset))
...