如何根据事件 Google PubSub 发送消息?

时间:2021-02-03 14:59:02

标签: google-cloud-pubsub

我需要一些关于 PubSub 的帮助...

每当有人在我的网站上接受 cookie 时,我都需要向某个主题发送消息。此消息应包含包含已接受服务的编码 URL。

我有这个脚本:

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 个答案:

答案 0 :(得分:1)

有点晚了,但我不明白,如果您已经有一个可用的 cookie 脚本和一个可用的发布脚本,难道不是将它们放在一起吗? 如果您还需要帮助,我很乐意为您提供帮助

类似的东西

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

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