Cloud Pub/Sub — это управляемая служба обмена сообщениями на облачной платформе Google. Сообщения можно публиковать из любой системы-источника событий в темы облачных публикаций/подписок для использования. В этом посте мы увидим, как публиковать сообщения в конечной точке облачной публикации/подписки REST.

Создайте тему с идентификатором темы, в которой будут публиковаться сообщения. Остальная конечная точка для темы будет в следующем формате:

Пример конечной точки REST

https://pubsub.googleapis.com/v1/projects/{имя-проекта}/topics/{название-темы}:опубликовать

Создайте сервисную учетную запись с ролевыми разрешениями «создатель токена сервисной учетной записи», «облачный издатель/субиздатель» и «облачное хранилище». Создайте ключ API (учетная запись службы) и сохраните его на своем локальном компьютере, чтобы вы могли использовать его для создания веб-токена json ( JWT ) для авторизованных запросов к облачной публикации/подписке.

В приведенном ниже примере мы будем публиковать данные json в тему с помощью python и иметь подписчика по запросу для получения сообщений из темы. Google также предоставляет клиентскую библиотеку google-cloud-pubsub для простой работы с облачным pub/sub. Но в этом примере я отправил данные в конечную точку REST облачного pub/sub с помощью библиотеки запросов python. .



Код для публикации сообщений в тему приведен ниже, я дал комментарии в соответствии с кодом для облегчения понимания.

Как видите, сообщения успешно публикуются в конечной точке облачной публикации/подписки REST. Теперь нам нужно получить сообщения из темы облачной публикации/подписки, используя идентификатор подписчика. Для этого я создал отдельный идентификатор подписчика с включенным порядком сообщений.

Для подписчика по запросу я использовал библиотеку google-cloud-pubsub для написания приложения подписчика для извлечения сообщений из раздела облачной публикации/подписки. Мы также можем проверить, все ли сообщения получены в порядке их публикации.

Как видно из приведенного выше снимка экрана, сообщения извлекаются по порядку из темы.

Вывод

Спасибо, что прочитали этот пост, надеюсь, он вам поможет.

Больше контента на plainenglish.io