【问题标题】:How to push Google Cloud Platform Pub/Sub message to C# desktop application如何将 Google Cloud Platform Pub/Sub 消息推送到 C# 桌面应用程序
【发布时间】:2020-07-19 07:45:10
【问题描述】:

我正在尝试创建可以接收 Google Cloud Platform Pub/Sub 消息的 C# 桌面应用程序。我无法使用 Push 方法(https://cloud.google.com/pubsub/docs/subscriber#push_pull)。我从文档中了解到的内容-发布消息时,Pub/Sub 将 HTTP 请求推送到订阅者的端点。然后端点发回 HTTP 成功状态码。 这就是我创建订阅者的方式:

        TopicName topicName = new TopicName("test-project-123", "myTopicName");
        SubscriberServiceApiClient subscriberService = await SubscriberServiceApiClient.CreateAsync();
        SubscriptionName subscriptionName = new SubscriptionName("test-project-123", "mySubscriberName");
        subscriberService.CreateSubscription(subscriptionName, topicName, pushConfig: null, ackDeadlineSeconds: 60);

在这里,我假设,pushConfig 是我指定 Pub/Sub 应向其发送请求的端点,我的程序作为回报应向其发送成功状态代码。我不明白的是我的桌面应用程序如何知道请求被推送到这个端点,以及它必须如何响应它?我相信答案应该很简单,但是 Web 开发对我来说是一个全新的事物,所以我觉得这个解决方案很难弄清楚。任何想法或代码示例将不胜感激

【问题讨论】:

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


【解决方案1】:

要使用 Push,您需要设置一个托管 URL 的服务。由您决定如何将您的服务连接到您的桌面应用程序。我认为设置服务以接受 Cloud Pub/Sub Pushes 的最简单方法是使用 Cloud Run,这是一种用于托管服务的 GCP 服务:https://cloud.google.com/run/docs/tutorials/pubsub

另一种选择是使用 Cloud Functions 设置 Pub/Sub 触发器:https://cloud.google.com/functions/docs/calling/pubsub

或 Firebase 函数: https://firebase.google.com/docs/functions/pubsub-events

一般来说,Cloud Pub/Sub 可能不是向您的桌面应用程序发送通知的正确工具。为此,您可能需要考虑 Firebase 云消息传递:https://firebase.google.com/docs/cloud-messaging/

您可以使用端到端的 FCM,也可以将消息从 Cloud Pub/Sub 桥接到 FCM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-12
    • 2015-10-14
    • 2021-06-29
    • 2022-01-01
    • 2020-02-26
    • 2020-01-09
    • 2022-08-22
    • 2019-12-04
    相关资源
    最近更新 更多