Как отправить сообщение на основе события Google PubSub?

#google-cloud-pubsub

#google-cloud-pubsub

Вопрос:

Мне нужна помощь с PubSub…

Мне нужно отправлять сообщение в тему каждый раз, когда кто-то принимает файлы cookie на моем сайте. Это сообщение должно содержать encodedURL, содержащий принятые сервисы.

У меня есть этот скрипт:

 const topicName = "myTopic";
const data = JSON.stringify({
  encodeConsentURL:""
});

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

// Creates a client; cache this for further use
const pubSubClient = new PubSub();

async function publishMessageWithCustomAttributes() {
  // Publishes the message as a string, e.g. "Hello, world!" or JSON.stringify(someObject)
  const dataBuffer = Buffer.from(data);

  // Add two custom attributes, origin and username, to the message
  const customAttributes = {};

  const messageId = await pubSubClient
    .topic(topicName)
    .publish(dataBuffer, customAttributes);
  console.log(`Message ${messageId} published.`);
  console.log(customAttributes);
}

publishMessageWithCustomAttributes().catch(console.error);
 

Этот код работает, он отправляет сообщение, что мне очень сложно сделать, так это настроить все правильно для запуска этого кода в моем скрипте cookie. В моем скрипте cookie у меня есть функция, которая записывает cookie, в той же функции, в которой я хотел бы отправить сообщение, возможно ли это? Заранее спасибо!

Ответ №1:

Немного поздно, но я не понимаю, если у вас уже есть рабочий скрипт cookie и рабочий скрипт публикации, разве это не просто их объединение? Если вам все еще нужна помощь, я буду рад вам помочь

Что-то вроде

 const runEverything = async () => {
  try {
    await checkCookiesThing()
    await publishMessage()

  } catch (e) {
    console.error(e)
  }
}
 

Комментарии:

1. эй, еще совсем не поздно! Спасибо, что поделились своим решением!