我们有一个使用2个pubsub主题/订阅对的架构:
T1
定期由cronjob触发主题(例如,每5分钟触发一次)。订阅S1
是我们云功能的触发器。T2
充当我们的一项服务发布的后台作业的队列。S2
云功能在每次执行时读取订阅,以为排队的后台作业提供服务。这使我们可以控制后台作业的服务频率,而与将它们添加到队列的时间无关。
云功能(由触发S1
)S2
通过pull读取消息。它决定准备好哪些后台作业,并在成功服务该作业后,对相关消息进行ACK。尚未准备就绪或失败的作业将不被确认以便稍后进行维修。
使用Google 的官方node.js pubusb客户端时,我们遇到了问题:
ack()
通过调查日志来确保我们正在致电。S2
通过验证stackdriver中未确认的消息计数,或者通过重新部署该功能并查看消息得到服务,来验证消息是否在订阅中排队。我们认为这是Google的node.js
pubsub客户端出现的问题。云函数文档明确指出不开始后台活动。但是,查看node.js
pubsub客户端源时,它显然使用超时在后台为确认服务。
Google的node.js pubsub客户端与Google云功能不兼容吗? Google
建议仅在客户端库不存在或不满足其他需求时访问服务API。是否在云功能中运行客户端“其他需求”,这要求我们使用服务API编写自己的客户端?
作为“解决方法”,我们尝试延迟了cloudfunction的执行时间,以允许node.js
pubsub客户端中的任何“后台”进程完成,但这并不能始终消除我们的问题。看来pubsub客户端对云功能不友好,并且无法从在执行云功能之间停止而恢复。
我在博客上写了一篇文章,详细描述了 为什么 我们以这种方式使用PubSub,以及如何解决node.js
pubsub客户端与云功能不兼容的事实。
来自node.js pubsub客户端的开发人员确认,不支持使用客户端从Cloud Function中提取消息。
替代方法是使用服务API。但是,当尝试从订阅中提取_所有_ 消息时,REST API有其自身的警告。
我有一个谷歌云,我想推我的图像。 我的图片是Hello-world项目与节点快递谷歌云客户端libray 你可以在我的github上找到它 https://github.com/innostarterkit/language 当我试着推的时候,我有这个错误 推送是指存储库[eu.gcr.io/innovation xxx/hello]a419c4413fb0:推送[================
介绍如何在谷歌云平台获取在云联壹云平台需要使用的配置参数。 如何获取谷歌云服务帐号密钥信息? 纳管指定项目 打开“GCP Console中的IAM和管理-IAM页面”页面并登录。 单击顶部“选择项目”,选择需要授权的项目。 在左侧导航栏中选择“服务账号”,进入指定项目的服务账号页面。 单击 “创建服务账号” 按钮,进入创建服务账号页面。 配置服务账号名称、服务账号ID、服务账号说明等,单击 “创建
刚刚完成Hello World谷歌云功能教程,收到以下响应头:
我想能够从谷歌云功能中调用谷歌应用程序引擎,有可能吗?找不到任何解决办法
上面写着“Google Cloud Messaging(GCM)是一个免费服务”,但是为了使它能够运行,我需要在Google Cloud平台中创建一个项目,这需要花钱…那怎么免费呢?还是我错过了什么?
我知道可以使用谷歌API视觉在网上找到类似的图片。我的目标是根据我的图像数据库找到类似的图像。我不想在网上看到类似的图片。 可能吗? 如果是,你能给我一些链接或建议吗? 谢谢