gpt4 book ai didi

PubNub:将所有已发布消息记录到我的数据库的正确方法是什么

转载 作者:行者123 更新时间:2023-12-04 11:18:59 31 4
gpt4 key购买 nike

记录每条已发布消息并将其保存到我的服务器数据库的正确方法是什么?

我能想到的有两种选择:

  • 在发布事件后使用 PubNub 功能并将消息转发到专用的记录器 channel 。服务器将订阅 channel 并将到达的消息保存到数据库。这里提出另一个问题:当我在PubNub功能中将消息转发到另一个 channel 时,它是否也会触发PubNub功能?
  • 使用 PubNub XHR 请求/响应函数并使用已发布的消息调用我服务器上的 rest API 并将其保存到 db

  • 关于性能和成本的最佳实践是什么?

    最佳答案

    将 PubNub 消息保存到您的私有(private)数据库

    我们写了一篇关于 right way to log JSON Messages to a Private Database 的文章。 .

    While many approaches exist. One is best. Using PubNub Functions. You will asynchronously save messages reliably to your Database. Using an OnAfter Publish Event. Your database needs to be accessible via a secured HTTPS endpoint.



    PubNub 不会使用 FTS Indexing 为您的消息编制索引;在撰写本文时。您可能需要使用您的数据库进行全文搜索索引或使用 API 提供程序,如 https://www.algolia.com/用于全文搜索。

    数据很有值(value)。 AI 和 ML 允许您使用 Tensorflow 从数据中创建洞察力.您可能希望对消息内容运行数据分析。使用 EMR / Hadoop或其他大数据分析软件。

    您将使用 PubNub Functions按照以下步骤轻松地将您的消息异步保存到数据库系统中。

    PubNub Save Message to Database

    开始很容易。假设您已经将消息流发布到 PubNub 数据 channel 。遵循这些简单的步骤。成功创建 实时每个 Publish 事件触发的函数。
  • 收集 channel 列表。您可能对 感兴趣全部 channel * .
  • 在您的 Account Dashboard查找 您的应用程序 ,然后点击 功能 .
  • 为您指定的 API key 集创建一个新模块。
  • 新建上后 上的事件处理程序* channel 。
  • 使用以下示例代码将消息异步保存到数据库。
  • 确保修改 URL/参数以满足您的需要。

  • 异步HTTPS保存消息功能

    // Request Handler
    export default request => {
    return save(request).then( () => request.ok() );
    }

    // Async Logging/Save of JSON Messages
    function save( data, retry=3 ) {
    const xhr = require('xhr');
    const post = { method : "POST", body : request.message };
    const url = "https://my.company.com/save"; // <-- CHANGE URL HERE

    // save message asynchronously
    return xhr.fetch( url, post ).then( serverResponse => {
    // Save Success!
    }).catch( err => {
    // Retry
    if (retry > 0) save( data, --retry );
    });
    }

    关于PubNub:将所有已发布消息记录到我的数据库的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48665018/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com