数据库 Webhooks
数据库 Webhooks 允许您在数据库发生表事件时将实时数据发送到另一个系统。
你可以绑定三个事件: 插入
、更新
、 和 删除
。 所有事件在数据库行更改后触发。
数据库 Webhooks 非常类似于触发器,因为数据库Webhooks使用了pg_net 扩展,这使得它看上去更像是对触发器的便捷地封装。这个扩展是异步的,因此不会阻塞数据库更改以进行长时间运行的网络请求。
该视频演示了每次向profiles
表插入一行时,如何在Stripe中创建一个新客户:
note
数据库 Webhooks 以前叫做函数 Hooks。
创建 webhook#
- 在控制台新建一个数据库 Webhook。
- 给新建的 Webhook 命名。
- 选择一个你想绑定的数据表。
- 选择一个或多个您想要连接到的事件(表的插入、更新、删除) 。
我们目前支持 HTTP webhooks。它们以带有 JSON 载荷的 POST 请求的形式发送。
载荷
载荷是从底层表记录自动生成的:
1type InsertPayload = {
2 type: 'INSERT'
3 table: string
4 schema: string
5 record: TableRecord<T>
6 old_record: null
7}
8type UpdatePayload = {
9 type: 'UPDATE'
10 table: string
11 schema: string
12 record: TableRecord<T>
13 old_record: TableRecord<T>
14}
15type DeletePayload = {
16 type: 'DELETE'
17 table: string
18 schema: string
19 record: null
20 old_record: TableRecord<T>
21}
资源
- pg_net: 用于 PostgreSQL 的异步网络扩展。