问题标签 [google-cloud-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
365 浏览

google-app-engine-python - 使用测试平台的nosetests 的google-cloud-storage 库

我已将 google-cloud-storage pip 安装到 lib 目录并出售。在开发我的 python appengine 应用程序期间,它在本地运行得很好。但是,当尝试通过鼻子和测试台运行单元测试时,我得到“找不到'google-cloud-core'分布并且应用程序需要”。这是堆栈:

有什么想法吗?

0 投票
1 回答
597 浏览

python - 使用浏览器查看时,创建数据存储条目会导致加密属性

我设法在 python 中使用 google.cloud.datastore 很好地创建或修改了数据存储实体,但是当我在浏览器中登录到我的 Cloud Platform 项目并检查条目时,看起来它的所有属性都已加密(它们看起来像"Rm9vIEJhcg=="等等 - 如果我从浏览器创建它,我可以正常看到)。

我正在使用服务帐户身份的 json 文件进行身份验证:

服务帐户对整个项目具有“编辑”权限。将其更改为“所有者”,这是我用来登录的 gmail 帐户的设置,并不能解决问题。

我创建这样的实体:

有什么方法可以使我使用 python 库修改的条目可以从浏览器站点读取?

0 投票
2 回答
1086 浏览

logging - 从多个进程使用 CloudLoggingHandler 进行日志记录

当日志由多个进程生成时,哪种是收集日志并将其发送到谷歌云日志的首选方式?

这是我基于 CloudLoggingHandler 的提案,您愿意批评它吗?

我在这里阅读了基于队列的日志处理程序,但 CloudLoggingHandler 在隔离线程中使用批量提交,因此基于队列的处理程序将是矫枉过正。我对么 ?

Sources表明 CloudLoggingHandler 是线程安全的,因此让所有进程共享一个 CloudLoggingHandler 实例可能就足够了。它会起作用吗?如果是这样是不是太苛刻了?


下面进行编辑以回答@thomas-schultz。

我坚持我的提议,主要是因为我在做原型设计,它“开箱即用”,而且我没有检查性能问题。我正在重新考虑这个选择。

实际上,据我了解,带有BackgroundThreadTransport的CloudLoggingHandler 会阻塞主线程,直到将日志发送到日志记录端点。几乎每个日志行都会发生这种情况。实际上,一旦有一个日志记录(cf source)就会发送批次。

在我的开发环境中,当多个进程同时记录时,一个进程会等待长达 1 秒的时间来发送日志。我想这主要是网络成本,它会从谷歌数据中心缩小到“不那么多”。

我正在考虑定义一个StreamHandler,它将所有日志记录推送到Queue。该队列将由负责将日志发送到日志记录端点的进程读取。如果相关,此过程可能依赖 CloudLoggingHandler 来执行此操作。

这有意义吗?

0 投票
2 回答
788 浏览

python - gce 启动实例 python api 使用示例指南

我试图复制谷歌网站 https://cloud.google.com/compute/docs/tutorials/python-guide上的以下指南

我无法弄清楚存储桶和计算的含义。我需要将什么样的参数传递给脚本?如果我想启动我的私有映像,我应该在 getFromFamily(project='debian-cloud', family='debian-8').execute() 中放入什么?我是否像下面这样传递变量?

我已将脚本简化如下。我取出了我认为不需要的参数。

0 投票
3 回答
2081 浏览

python-2.7 - 加载模式 json 文件以创建表或作业模式

如果我已经有了架构文件,例如:schema.json。如何使用 google-cloud-python API 加载文件以创建表或作业模式?

0 投票
1 回答
2161 浏览

google-cloud-python - 如何使用 Python API 为不同 Google Cloud Platform 项目中的主题创建 PubSub 订阅?

API 似乎允许我为不同项目中的主题创建订阅,但是当我检查新创建的订阅时,它与主题所在的项目相关联。

这无法通过 Web 控制台完成。还有其他 API 吗?还是我错过了什么?

我正在尝试遵循此 API 参考: https ://googlecloudplatform.github.io/google-cloud-python/stable/pubsub-subscription.html

我将其作为本地执行的 Python 脚本运行。默认项目(gcloud config get-value 项目)是接收者项目。

0 投票
1 回答
1170 浏览

google-cloud-platform - 从 Python 访问 Google PubSub 中的 subscription/num_oustanding_messages 指标

是否可以从 google-cloud-python访问subscription/num_outstanding_messages列出的指标https://cloud.google.com/monitoring/api/metrics#gcp-pubsub ?我已经使用类似的代码成功访问了该num_undelivered_messages指标,但迭代以下查询的结果(成功)总是产生一个空列表。

相关 google-cloud-python 库版本:

0 投票
2 回答
685 浏览

python - Google Cloud 和 Appengine Python 包冲突

我正在浏览谷歌的 appengine 教程,并制作了发布表单和检索信息的简单示例。通过教程步骤,我必须使用 appengine 库安装 Google Cloud SDK。

它工作正常。

向前迈出一步,我 pip 安装了“ google-cloud ”包,以从 Google 存储中检索文件。

安装两个谷歌云包后,尝试从我的main.py文件中简单导入时:

我得到错误:

打印google.__path__我可以看到两个包的正确路径:

我在这里想念什么?

在同一个 virtualenv 中从终端运行 python 我可以毫无问题地导入 google.clou 包。仅当我使用运行它时才会出现错误消息dev_appserver.py

0 投票
1 回答
239 浏览

python - 在 python 脚本中导入 gcloud 库的问题

我已经更新了 gcloud 组件。我已经按照在线文档中的说明使用 pip install 安装了 BigQuery lib。我正在运行 Python 2.7.10。

当我运行具有以下行的python脚本时:

它返回以下错误:

我尝试了 python 3.6 并且仍然得到相同的错误。

我确实重新安装了 google sdk,但仍然遇到同样的错误。

如果我确实触摸 /Library/Frameworks/Python.framework/Versions/2.7/lib/python‌​2.7/site-packages/go‌​ogle/ init .py 然后导入 google woudl 工作,但不导入 google.cloud

任何帮助表示赞赏。

0 投票
1 回答
1037 浏览

python - 如何使用 google-cloud 客户端将大于 32MB 的文件上传到 GCS?

我最近开始使用google-cloud client,我做了这个小例子(为了清楚起见,我省略/更改了一些东西):

此代码适用于 32MB 以下的任何内容,但它无法处理较大的文件,因为它们通过应用程序而不是直接到 GCS。我见过使用 Blobstore API 的解决方案,但这些解决方案已经过时了,而且 Blobstore 甚至不再用于存储数据(尽管仍然可以使用 Blobstore API)。

所以我想知道,有没有办法使用谷歌云客户端解决这个问题?我还没有在文档中看到创建上传 url 的方法。