跳转至

Supabase 节点常见问题#

以下是 Supabase 节点 的一些常见错误和问题,以及解决或故障排除的步骤。

按元数据筛选行#

要按 Supabase 元数据 筛选行,请将选择类型设置为字符串

然后,你可以在筛选器(字符串)参数中构建查询,使用 Supabase 元数据查询语言来筛选元数据,该语言受 MongoDB 选择器 格式启发。使用 Postgres ->> 箭头 JSON 操作符访问元数据属性,格式如下(大括号表示要填入的组件):

1
metadata->>{your-property}={comparison-operator}.{comparison-value}

例如,要访问元数据中的 age 属性并返回大于或等于 21 的结果,你可以在筛选器(字符串)字段中输入以下内容:

1
metadata->>age=gte.21

你可以组合这些操作符来构建更复杂的查询。

使用 Docker 时无法连接到本地 Supabase 数据库#

当你在 Docker 中运行 Supabase 时,需要配置网络以便 n8n 可以连接到 Supabase。

解决方案取决于你如何托管这两个组件。

如果只有 Supabase 在 Docker 中#

如果只有 Supabase 在 Docker 中运行,自托管指南 使用的 Docker Compose 文件已经将 Supabase 绑定到正确的接口。

配置 Supabase 凭证 时,localhost 地址应该可以正常工作(将主机设置为 localhost)。

如果 Supabase 和 n8n 在单独的 Docker 容器中运行#

如果 n8n 和 Supabase 都在 Docker 中的单独容器中运行,你可以使用 Docker 网络来连接它们。

通过在容器内绑定到 0.0.0.0 来配置 Supabase 监听所有接口(官方 Docker compose 配置 已经这样做了)。如果你还没有在同一个 Docker Compose 文件中一起管理它们,请将 Supabase 和 n8n 组件添加到同一个 用户定义的桥接网络 中。

配置 Supabase 凭证 时,使用 Supabase API 网关容器的名称(默认为 supabase-kong)作为主机地址,而不是 localhost。例如,如果你使用默认配置,你应该将主机设置为 http://supabase-kong:8000

记录可通过 Postgres 访问但无法通过 Supabase 访问#

如果使用 Supabase 节点查询记录返回空结果,但通过 Postgres 节点或 Postgres 客户端可以获取到数据,可能与 Supabase 的行级安全策略 (RLS) 存在冲突。

当你使用表编辑器在公共模式中创建表时,Supabase 总是启用 RLS。当 RLS 处于活动状态时,在你创建策略之前,API 不会使用公共 anon 键返回任何数据。这是一种安全措施,确保你只暴露你打算暴露的数据。

要以 anon 角色访问启用了 RLS 的表中的数据,请创建一个策略以启用你打算使用的访问模式。

此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持