Google PubSub不会在每条新消息中触发功能

时间:2020-09-06 07:46:14

标签: google-cloud-platform google-cloud-pubsub

我有一个Google PubSub流,每天都添加了一组地址。我希望每个这些地址都由触发的Google Cloud Function处理。但是,我看到的是,即使每天都有新消息添加到流中,每个地址也只处理一次。

我的问题是,如果每天将相同的值添加到流中,它将作为新消息处理吗?还是将其视为重复消息?

这是我所看到的情况。每天都会触发locations云功能,并将每个位置发布到locations主题。在大多数情况下,这些消息与前一天的消息相同。它们唯一的更改是某个位置关闭或添加了新位置。但是,我看到的是locations Cloud Function从未收到许多location_metrics消息。

函数流程如下:

每天在2a触发主题(称为locations_trigger)>触发器locations云功能>发送至locations主题>触发器location_metrics云功能>发送至{{ 1}}主题

对于location_metrics云功能,将触发它并正确返回所有地址,然后将其发送到locations主题。我不会将整个功能放在这里,因为它没有问题。对于它检索到的每个位置,日志中都会显示“发布成功”消息。这是将位置详细信息发送给主题的部分。

locations

发送的示例 project_id = "project_id" topic_name = "locations" topic_id = "projects/project_id/topics/locations" publisher = pubsub_v1.PublisherClient() topic_path = publisher.topic_path(project_id, topic_name) try: publisher.publish(topic_path, data=location_details.encode('utf-8')) print("publish successful: ", location) except Exception as exc: print(exc) 有效负载是: location

{"id": "accounts/123456/locations/123456", "name": "Business 123 Main St Somewhere NM 10010"}函数如下所示:

location_metrics

0 个答案:

没有答案