我不知道为什么但是counter_inc
方法不起作用,没有模拟器,指向一个开发真实实例。
片段:
from google.cloud import bigtable
from google.cloud import happybase
client = bigtable.Client(project='robbie-ai', admin=True)
instance = client.instance('visio-bt-staging')
connection = happybase.Connection(instance=instance)
connection.create_table('commons_TestBTModelsTable', {'family': None, 'counters': None})
table = connection.table('commons_TestBTModelsTable')
table.put('row-key1', {'family:surname': 'Trump'})
print("Getting row 'row-key1': {}".format(table.row(b'row-key1')))
table.counter_inc(b'row1', b'counters:qual1')
如果我这样做table.counter_inc(b'row1', 'counters:qual1')
是完全一样的。
作为脚本执行时:
root@2d21638ea17f:/app# python scripts/counters.py
Getting row 'row-key1': {b'family:surname': b'Trump'}
Traceback (most recent call last):
File "scripts/counters.py", line 28, in <module>
table.counter_inc(b'row1', b'counters:qual1')
File "/usr/local/lib/python3.5/dist-packages/google/cloud/happybase/table.py", line 591, in counter_inc
column_cells = modified_cells[column_family_id][column_qualifier]
KeyError: 'qual1'
这是一个错误还是这个片段有问题?