Ответить на сообщение после получения данных о подписчике в Google PubSub Pull

Можно ли ответить на сообщение после получения данных от Publisher. Это должен быть прямой ответ после того, как издатель опубликовал сообщение. Я использую сервис Google PubSub.

https://cloud.google.com/pubsub/docs/pull

Издатель/Отправитель (PHP):

$sendToOps =[];
$sendToOps['MESSAGE'] = "my message";
$topicName = env('GOOGLE_CLOUD_TO_OPS_TOPIC');

$pubSub = new PubSubClient();
$topic = $pubSub->topic($topicName);
$ret =  $topic->publish([
          'attributes'=>$sendToOps
       ]);

//**********The word "Apple" must output here**********
echo $ret;
//*****************************************************

Подписчик/получатель (Javascript):

'use strict';


//Get .env File Data
require('dotenv').config({path: '/usr/share/nginx/html/myProject/.env'});
var request = require('request');

var port = process.env.PORT_GATEWAY;
var host = process.env.IP_PUSH;
var test = process.env.TEST_FLAG;
var pubsubSubscription = process.env.GOOGLE_CLOUD_TO_OPS_SUBSCRIPTION;
const keyFilePath= 'public/key/key.json';

// Imports the Google Cloud client library
const {PubSub} = require('@google-cloud/pubsub');

// Creates a client; cache this for further use
const pubSubClient = new PubSub({
  keyFilename: keyFilePath
});

function listenForMessages() {
  // References an existing subscription
  const subscription = pubSubClient.subscription(pubsubSubscription);

  // Create an event handler to handle messages
  const messageHandler = message => {
  console.info(message.attributes);


   //*****************************************************
   //I want to reply to Sender with the word "Apple" here
   //*****************************************************


   message.ack()
  };
   
  subscription.on('message', messageHandler);
}

  listenForMessages();


Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
0
870
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Можно ли ответить на сообщение после получения данных от Издатель.

Зависит от того, что вы подразумеваете под «ответом». Издатель сообщения публикует сообщение в теме Pub/Sub. Подписчики получают сообщения от подписки Pub/Sub. Здесь нет двустороннего канала связи. Метода обратного ответа Pub/Sub не существует.

Подписчик может опубликовать сообщение в другой теме, которую издатель читает как подписчик. Обе стороны будут издателем и подписчиком, но по разным темам.

После получения сообщения подписчик может напрямую вызвать API на издателе.

Однако цель публикации/подписки состоит в том, чтобы отделить отправителей от получателей, а не заблокировать их вместе.

Другие вопросы по теме