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 –
謝謝,我會看一下。 –