首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gcloud-python连接到google bigtable的未经身份验证的错误

使用gcloud-python连接到google bigtable的未经身份验证的错误
EN

Stack Overflow用户
提问于 2016-06-23 04:27:19
回答 1查看 500关注 0票数 1

我已经在我的项目上建立了Google集群。该项目的主要代码库运行在标准Python环境中,由于对grpcio的依赖,该环境不能使用gcloud-python库。为了解决这个问题,我在同一个项目中设置了Python灵活环境服务,并编写了一个非常简单的Flask服务器来运行它,然后我可以从我的标准环境中访问它。代码如下所示:

代码语言:javascript
复制
from gcloud import bigtable
app = Flask(__name__)

client = bigtable.Client(project=bigtable_config.PROJECT_ID, read_only=True)
cluster = client.cluster(bigtable_config.ZONE_ID, bigtable_config.CLUSTER_ID)
table = cluster.table(bigtable_config.TABLE_ID)

@app.route("/query/<start_key>/<end_key>")
def run_query(start_key, end_key):
    if not client.is_started():
        client.start()

    row_data = table.read_rows(start_key=start_key, end_key=end_key)
    row_data.consume_all()

    // do some stuff to the row data here, get results

    return jsonify(results)

我可以在本地运行这段代码,它工作得很好。我可以把它部署到我的服务中,而且它继续发挥很大的作用。但是,如果服务处于空闲状态一段时间(我通常在大约一个小时后就注意到了),那么我提出的每个请求都会从这个错误开始失败:

代码语言:javascript
复制
NetworkError(code=StatusCode.UNAUTHENTICATED, details="Request had invalid authentication credentials.")

如果我重新部署服务,它将重新开始工作。当我在本地运行服务时,我没有观察到这种行为。

我做错了什么?我假设我在设置客户端时犯了一些错误,因为客户端没有正确地使用应用程序引擎凭据。当我遇到这个错误时,我需要杀死客户机并重新启动它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-05 20:38:03

github正在跟踪这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37982336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档