跳转到主要内容

将Datasette事件转发到另一个实例

项目描述

datasette-events-forward

PyPI Changelog Tests License

将Datasette事件转发到另一个实例

安装

将此插件安装在与Datasette相同的环境中。

datasette install datasette-events-forward

配置

按如下方式配置插件

{
    "plugins": {
        "datasette-events-forward": {
            "api_token": "***",
            "api_url": "https://stats.datasette.cloud/data/-/create",
            "instance": "localhost"
        }
    }
}

然后插件将收集所有事件并将它们转发到指定的实例,如果不存在,则将它们添加到名为datasette_events的表中。

可以使用instance键区分报告给同一后端的不同实例。事件使用ULID标识,以确保即使跨不同实例也能保持唯一。

事件以最多每10秒一次的批量最多10个事件进行转发。

完整的配置设置列表

  • api_url:要将事件转发到的Datasette实例的写入API URL。
  • api_token:发送事件时使用的API令牌。使用{"$env": "FORWARD_TOKEN"}FORWARD_TOKEN环境变量中读取令牌。
  • instance:用于标识发送事件的实例的字符串。

api_url可以是用于插入行的https://datasette.example.com/data/datasette_events/-/insert端点,或用于创建表并将行插入其中的https://datasette.example.com/data/-/create端点。如果表尚不存在,则应使用/-/create变体,否则使用/-/insert变体。

如果您使用/-/insert,则您的API令牌只需要insert-row权限。对于/-/create,您还需要create-table权限。

并且为了控制将事件批量发送到Datasette写入API的速率

  • batch_limit:每次批量发送的事件数,默认为10。Datasette写入API默认行数为100行,因此此值应设置为小于该值。
  • max_rate:在指定时间段内发送的最大HTTP请求数量,默认为1。
  • time_period:速率限制的时间段(秒),默认为10。

开发

要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境

cd datasette-events-forward
python3 -m venv venv
source venv/bin/activate

现在安装依赖项和测试依赖项

pip install -e '.[test]'

要运行测试

pytest

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

datasette-events-forward-0.1a1.tar.gz (9.2 kB 查看哈希值)

上传时间

构建分布

datasette_events_forward-0.1a1-py3-none-any.whl (9.0 kB 查看哈希值)

上传时间 Python 3

由以下组织支持