1
我想从谷歌阅读扳手表与时间戳,使用下面的代码。扳手阅读与时间戳失败
import datetime as dt
from google.cloud.spanner.client import Client
proj = 'my_project'
inst = 'my_instance'
db = 'my_database'
datetime_now = dt.datetime.now()
with Client(proj).instance(inst).database(db).snapshot(read_timestamp=datetime_now) as snapshot: # this fails
#with Client(proj).instance(inst).database(db).snapshot() as snapshot: # this works
result = snapshot.execute_sql('some SQL query')
for row in result:
print row
如果我在 “快照” 呼叫设定时间戳,此返回错误消息下面:
grpc._channel._Rendezvous:RPC与封端的< _Rendezvous(StatusCode.DEADLINE_EXCEEDED,截止日期超过)>
while,if I just call“[...]。snapshot()”,表格被正确读取。
这是我的脚本中的错误还是安装问题?
编辑:刚才注意到我并不是最新版本的python spanner API。在从0.26更新为0.28之后,除了脚本永远持续而没有返回任何内容外,同样的事情发生,而不是发出错误。
时钟同步困难。我建议使用'max_staleness'而不是'read_timestamp'。在此处查看更多详情https://googlecloudplatform.github.io/google-cloud-python/stable/spanner/database-api.html#google.cloud.spanner.database.Database.snapshot –
谢谢,我会看一下。 –