Как отправить sh паб / подписку Google Cloud Platform в C# настольное приложение - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь создать C# настольное приложение, которое может получать сообщения Google Cloud Platform Pub / Sub. Я не могу заставить его работать с подходом Pu sh (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 должен отправить запрос, а моя программа в ответ должна отправить код состояния успеха. Что я не понимаю, так это то, как мое настольное приложение узнает, что запрос отправлен в эту конечную точку, и как именно оно должно на него ответить? Я считаю, что ответ должен быть простым, но веб-разработка для меня - совершенно новая вещь, поэтому мне сложно найти это решение. Любые идеи или примеры кода будут высоко оценены

1 Ответ

1 голос
/ 07 апреля 2020

Чтобы использовать Pu sh, вам необходимо настроить службу, в которой размещен URL-адрес. Вам решать, как подключить ваш сервис к вашему настольному приложению. Я думаю, что самый простой способ настроить сервис для приема Cloud Pub / Sub Pushes - это использовать Cloud Run, сервис GCP для хостинга: https://cloud.google.com/run/docs/tutorials/pubsub

Другой вариант - использовать Облачные функции для настройки триггера Pub / Sub: https://cloud.google.com/functions/docs/calling/pubsub

или Firebase Функции: https://firebase.google.com/docs/functions/pubsub-events

В общем, Cloud Pub / Sub не может быть подходящим инструментом для доставки уведомлений в настольное приложение. Для этого вы можете рассмотреть возможность использования Firebase Cloud Messaging: https://firebase.google.com/docs/cloud-messaging/

Можно использовать сквозную FCM или соединить сообщения из Cloud Pub / Саб в FCM.

...