相关疑难解决方法(0)

Google Cloud功能仅限Ack Pub/Sub成功

我们使用由Pub/Sub触发的云功能来确保发送电子邮件.有时,电子邮件服务需要很长时间才能响应,我们的云功能会在收到错误之前终止.由于该消息已被确认,我们的电子邮件将丢失.

当我们被调用时,云功能似乎会自动发送一条确认发布/订阅消息的ACK.有没有办法延迟ACK直到成功完成我们的代码?或者,是否有一种方法可以捕获超时并重新发送消息以进行传递?我们可以尝试别的吗?

google-cloud-pubsub google-cloud-functions

11
推荐指数
2
解决办法
1740
查看次数

Google pubsub 变成 HTTP 触发的云功能?

是否可以触发 HTTP 云功能以响应 pubsub 消息?

编辑订阅时,谷歌可以将消息推送到 HTTPS 端点,但出于滥用原因,必须能够证明您拥有该域才能执行此操作,当然您无法证明您拥有谷歌自己的*.cloudfunctions.net域,这是他们部署的地方。

我试图订阅的特定主题是一个公共主题,projects/pubsub-public-data/topics/taxirides-realtime. 答案可能是使用后台函数而不是 HTTP 触发,但由于不同的原因,这不起作用:

gcloud functions deploy echo --trigger-resource projects/pubsub-public-data/topics/taxirides-realtime --trigger-event google.pubsub.topic.publish ERROR: gcloud crashed (ArgumentTypeError): Invalid value 'projects/pubsub-public-data/topics/taxirides-realtime': Topic must contain only Latin letters (lower- or upper-case), digits and the characters - + . _ ~ %. It must start with a letter and be from 3 to 255 characters long.

这似乎表明这仅适用于我拥有的主题,这是一个奇怪的限制。

google-cloud-pubsub google-cloud-functions

5
推荐指数
1
解决办法
1010
查看次数

对云功能执行http PUSH的Google Pubsub订阅者(在同一项目或其他项目中)

是否可以在一个项目中设置pubsub主题/订阅者,该项目在同一个OR中的http PUSH到云功能在另一个Google项目中?我知道有PubSub触发器,但是当pubsub主题在另一个Google项目中时,这些触发器不起作用。奇怪的是,这是否甚至可以与订户PUSH一起使用。

错误如果我尝试创建pubsub错误,则会收到INVALID_ARGUMENT错误。我不确定这是否是因为我需要注册端点(https://cloud.google.com/pubsub/docs/push#other-endpoints)。但这感觉不对,因为当我创建一个函数时,URL是自动提供给我的,我可以通过Postman来访问它。

我确实找到了此链接(GCP-验证对PubSub推送的云函数https端点的所有权),并认为它与url验证有关..只想确认一下:)

有什么想法吗?我在某处错过了一些文档吗?

编辑:我认为它与URL验证以及使用../_ah/push-handlers/..路径有关。当我注册PubSub触发器时,该函数的传递类型仍然是PUSH,但它是具有更多路径的编码url:https://{hash}-dot-{hash}.appspot.com/_ah/push-handlers/pubsub/projects/{project-id}/topics/prototype-contact-created?pubsub_trigger=true

google-cloud-platform google-cloud-functions

2
推荐指数
1
解决办法
761
查看次数