mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-06 03:00:16 -04:00
498 lines
20 KiB
Plaintext
498 lines
20 KiB
Plaintext
---
|
||
title: Supabase
|
||
description: 使用 Supabase 数据库
|
||
---
|
||
|
||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||
|
||
<BlockInfoCard
|
||
type="supabase"
|
||
color="#1C1C1C"
|
||
/>
|
||
|
||
{/* MANUAL-CONTENT-START:intro */}
|
||
[Supabase](https://www.supabase.com/) 是一个强大的开源后端即服务平台,为开发者提供了一套工具,用于构建、扩展和管理现代应用程序。Supabase 提供了完全托管的 [PostgreSQL](https://www.postgresql.org/) 数据库、强大的身份验证、即时的 RESTful 和 GraphQL API、实时订阅、文件存储以及边缘函数——所有功能都通过统一且对开发者友好的界面访问。其开源特性和对流行框架的兼容性使其成为 Firebase 的一个有吸引力的替代方案,同时还具有 SQL 的灵活性和透明性。
|
||
|
||
**为什么选择 Supabase?**
|
||
- **即时 API:** 数据库中的每个表和视图都可以通过 REST 和 GraphQL 端点即时访问,无需编写自定义后端代码即可轻松构建数据驱动的应用程序。
|
||
- **实时数据:** Supabase 支持实时订阅,使您的应用程序能够对数据库中的更改即时作出反应。
|
||
- **身份验证与授权:** 内置用户管理,支持电子邮件、OAuth、SSO 等多种方式,并提供行级安全性以实现精细的访问控制。
|
||
- **存储:** 通过内置存储安全地上传、提供和管理文件,并与您的数据库无缝集成。
|
||
- **边缘函数:** 部署无服务器函数到用户附近,以实现低延迟的自定义逻辑。
|
||
|
||
**在 Sim 中使用 Supabase**
|
||
|
||
Sim 的 Supabase 集成使您能够轻松地将代理工作流连接到您的 Supabase 项目。只需填写几个配置字段——您的项目 ID、表名和服务角色密钥,您就可以直接从 Sim 模块中安全地与数据库交互。该集成简化了 API 调用的复杂性,让您专注于构建逻辑和自动化流程。
|
||
|
||
**在 Sim 中使用 Supabase 的主要优势:**
|
||
- **无代码/低代码的数据库操作:** 无需编写 SQL 或后端代码即可查询、插入、更新和删除 Supabase 表中的行。
|
||
- **灵活的查询:** 使用 [PostgREST 过滤语法](https://postgrest.org/en/stable/api.html#operators) 执行高级查询,包括过滤、排序和限制结果。
|
||
- **无缝集成:** 轻松将 Supabase 连接到工作流中的其他工具和服务,实现强大的自动化功能,例如数据同步、触发通知或丰富记录。
|
||
- **安全且可扩展:** 所有操作都使用您的 Supabase 服务角色密钥,确保数据访问的安全性,同时享受托管云平台的可扩展性。
|
||
|
||
无论您是在构建内部工具、自动化业务流程,还是支持生产应用程序,Sim 中的 Supabase 都为您提供了一种快速、可靠且对开发者友好的方式来管理数据和后端逻辑——无需基础设施管理。只需配置模块,选择所需的操作,其余的交给 Sim 处理。
|
||
{/* MANUAL-CONTENT-END */}
|
||
|
||
## 使用说明
|
||
|
||
将 Supabase 集成到工作流程中。支持数据库操作(查询、插入、更新、删除、upsert)、全文搜索、RPC 函数、行计数、向量搜索以及完整的存储管理(上传、下载、列出、移动、复制、删除文件和存储桶)。
|
||
|
||
## 工具
|
||
|
||
### `supabase_query`
|
||
|
||
从 Supabase 表中查询数据
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `table` | string | 是 | 要查询的 Supabase 表名 |
|
||
| `schema` | string | 否 | 要查询的数据库 schema \(默认:public\)。用于访问其他 schema 下的表。|
|
||
| `select` | string | 否 | 要返回的列(逗号分隔)。默认为 *(所有列)|
|
||
| `filter` | string | 否 | PostgREST 过滤条件 \(例如:"id=eq.123"\) |
|
||
| `orderBy` | string | 否 | 排序的列(添加 DESC 表示降序)|
|
||
| `limit` | number | 否 | 返回的最大行数 |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 查询返回的记录数组 |
|
||
|
||
### `supabase_insert`
|
||
|
||
向 Supabase 表中插入数据
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `table` | string | 是 | 要插入数据的 Supabase 表名 |
|
||
| `schema` | string | 否 | 要插入的数据库 schema \(默认:public\)。用于访问其他 schema 下的表。|
|
||
| `data` | array | 是 | 要插入的数据(对象数组或单个对象)|
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 插入的记录数组 |
|
||
|
||
### `supabase_get_row`
|
||
|
||
根据筛选条件从 Supabase 表中获取单行数据
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `table` | string | 是 | 要查询的 Supabase 表名 |
|
||
| `schema` | string | 否 | 要查询的数据库 schema \(默认:public\)。用于访问其他 schema 下的表。|
|
||
| `select` | string | 否 | 要返回的列(逗号分隔)。默认为 *(所有列)|
|
||
| `filter` | string | 是 | PostgREST 过滤条件,用于查找特定行 \(例如:"id=eq.123"\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 包含行数据的数组(如果找到),如果未找到则为空数组 |
|
||
|
||
### `supabase_update`
|
||
|
||
根据筛选条件更新 Supabase 表中的行
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `table` | string | 是 | 要更新的 Supabase 表名 |
|
||
| `schema` | string | 否 | 要更新的数据库 schema \(默认:public\)。用于访问其他 schema 下的表。|
|
||
| `filter` | string | 是 | PostgREST 筛选条件,用于定位要更新的行 \(例如:"id=eq.123"\) |
|
||
| `data` | object | 是 | 要在匹配行中更新的数据 |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 更新记录的数组 |
|
||
|
||
### `supabase_delete`
|
||
|
||
根据筛选条件从 Supabase 表中删除行
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `table` | string | 是 | 要删除数据的 Supabase 表名 |
|
||
| `schema` | string | 否 | 要删除数据的数据库 schema \(默认:public\)。用于访问其他 schema 下的表。|
|
||
| `filter` | string | 是 | PostgREST 筛选条件,用于定位要删除的行 \(例如:"id=eq.123"\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 已删除记录的数组 |
|
||
|
||
### `supabase_upsert`
|
||
|
||
在 Supabase 表中插入或更新数据(upsert 操作)
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `table` | string | 是 | 要 upsert 数据的 Supabase 表名 |
|
||
| `schema` | string | 否 | 要 upsert 的数据库 schema \(默认:public\)。用于访问其他 schema 下的表。|
|
||
| `data` | array | 是 | 要 upsert(插入或更新)的数据——对象数组或单个对象 |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 已 upsert 的记录数组 |
|
||
|
||
### `supabase_count`
|
||
|
||
统计 Supabase 表中的行数
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `table` | string | 是 | 要统计行数的 Supabase 表名 |
|
||
| `schema` | string | 否 | 要统计的数据库 schema \(默认:public\)。用于访问其他 schema 下的表。 |
|
||
| `filter` | string | 否 | PostgREST 过滤条件 \(例如:"status=eq.active"\) |
|
||
| `countType` | string | 否 | 计数类型:exact、planned 或 estimated \(默认:exact\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `count` | number | 符合过滤条件的行数 |
|
||
|
||
### `supabase_text_search`
|
||
|
||
在 Supabase 表中执行全文搜索
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `table` | string | 是 | 要搜索的 Supabase 表名 |
|
||
| `schema` | string | 否 | 要搜索的数据库 schema \(默认:public\)。用于访问其他 schema 下的表。 |
|
||
| `column` | string | 是 | 要搜索的列名 |
|
||
| `query` | string | 是 | 搜索查询内容 |
|
||
| `searchType` | string | 否 | 搜索类型:plain、phrase 或 websearch \(默认:websearch\) |
|
||
| `language` | string | 否 | 文本搜索配置的语言 \(默认:english\) |
|
||
| `limit` | number | 否 | 返回的最大行数 |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 与搜索查询匹配的记录数组 |
|
||
|
||
### `supabase_vector_search`
|
||
|
||
在 Supabase 表中使用 pgvector 执行相似性搜索
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `functionName` | string | 是 | 执行向量搜索的 PostgreSQL 函数名称 \(例如:match_documents\) |
|
||
| `queryEmbedding` | array | 是 | 要搜索相似项的查询向量/嵌入 |
|
||
| `matchThreshold` | number | 否 | 最小相似度阈值 \(0-1\),通常为 0.7-0.9 |
|
||
| `matchCount` | number | 否 | 返回结果的最大数量 \(默认值:10\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 包含向量搜索相似度分数的记录数组。每条记录包括一个相似度字段 \(0-1\),表示与查询向量的相似程度。 |
|
||
|
||
### `supabase_rpc`
|
||
|
||
调用 Supabase 中的 PostgreSQL 函数
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `functionName` | string | 是 | 要调用的 PostgreSQL 函数名称 |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | json | 函数返回的结果 |
|
||
|
||
### `supabase_storage_upload`
|
||
|
||
将文件上传到 Supabase 存储桶
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 存储桶的名称 |
|
||
| `fileName` | string | 是 | 文件名 \(例如:"document.pdf","image.jpg"\) |
|
||
| `path` | string | 否 | 可选的文件夹路径 \(例如:"folder/subfolder/"\) |
|
||
| `fileContent` | string | 是 | 文件内容(对于二进制文件为 base64 编码,或为纯文本)|
|
||
| `contentType` | string | 否 | 文件的 MIME 类型 \(例如:"image/jpeg","text/plain"\) |
|
||
| `upsert` | boolean | 否 | 如果为 true,则覆盖已存在的文件(默认值:false)|
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | object | 上传结果,包括文件路径和元数据 |
|
||
|
||
### `supabase_storage_download`
|
||
|
||
从 Supabase 存储桶下载文件
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 存储桶的名称 |
|
||
| `path` | string | 是 | 要下载的文件路径 \(例如:"folder/file.jpg"\) |
|
||
| `fileName` | string | 否 | 可选的文件名覆盖 |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `file` | file | 下载的文件存储在执行文件中 |
|
||
|
||
### `supabase_storage_list`
|
||
|
||
列出 Supabase 存储桶中的文件
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 存储桶的名称 |
|
||
| `path` | string | 否 | 要列出文件的文件夹路径 \(默认:根目录\) |
|
||
| `limit` | number | 否 | 返回的最大文件数 \(默认:100\) |
|
||
| `offset` | number | 否 | 要跳过的文件数 \(用于分页\) |
|
||
| `sortBy` | string | 否 | 排序的列:name, created_at, updated_at \(默认:name\) |
|
||
| `sortOrder` | string | 否 | 排序顺序:asc 或 desc \(默认:asc\) |
|
||
| `search` | string | 否 | 按名称过滤文件的搜索词 |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 包含元数据的文件对象数组 |
|
||
|
||
### `supabase_storage_delete`
|
||
|
||
从 Supabase 存储桶中删除文件
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 存储桶的名称 |
|
||
| `paths` | array | 是 | 要删除的文件路径数组 \(例如:\["folder/file1.jpg", "folder/file2.jpg"\]\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 已删除文件对象的数组 |
|
||
|
||
### `supabase_storage_move`
|
||
|
||
在 Supabase 存储桶中移动文件
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 存储桶的名称 |
|
||
| `fromPath` | string | 是 | 文件的当前路径 \(例如:"folder/old.jpg"\) |
|
||
| `toPath` | string | 是 | 文件的新路径 \(例如:"newfolder/new.jpg"\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | object | 移动操作结果 |
|
||
|
||
### `supabase_storage_copy`
|
||
|
||
在 Supabase 存储桶中复制文件
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 存储桶的名称 |
|
||
| `fromPath` | string | 是 | 源文件的路径 \(例如:"folder/source.jpg"\) |
|
||
| `toPath` | string | 是 | 复制文件的路径 \(例如:"folder/copy.jpg"\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | object | 复制操作结果 |
|
||
|
||
### `supabase_storage_create_bucket`
|
||
|
||
在 Supabase 中创建一个新的存储桶
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 要创建的存储桶名称 |
|
||
| `isPublic` | boolean | 否 | 存储桶是否应为公开访问 \(默认值:false\) |
|
||
| `fileSizeLimit` | number | 否 | 最大文件大小(以字节为单位)\(可选\) |
|
||
| `allowedMimeTypes` | array | 否 | 允许的 MIME 类型数组 \(例如:\["image/png", "image/jpeg"\]\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | object | 创建的存储桶信息 |
|
||
|
||
### `supabase_storage_list_buckets`
|
||
|
||
列出 Supabase 中的所有存储桶
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | array | 存储桶对象的数组 |
|
||
|
||
### `supabase_storage_delete_bucket`
|
||
|
||
删除 Supabase 中的存储桶
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 要删除的存储桶名称 |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `results` | object | 删除操作结果 |
|
||
|
||
### `supabase_storage_get_public_url`
|
||
|
||
获取 Supabase 存储桶中文件的公共 URL
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 存储桶的名称 |
|
||
| `path` | string | 是 | 文件路径 \(例如:"folder/file.jpg"\) |
|
||
| `download` | boolean | 否 | 如果为 true,则强制下载而不是内联显示 \(默认值:false\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `publicUrl` | string | 访问文件的公共 URL |
|
||
|
||
### `supabase_storage_create_signed_url`
|
||
|
||
为 Supabase 存储桶中的文件创建一个临时签名 URL
|
||
|
||
#### 输入
|
||
|
||
| 参数 | 类型 | 必需 | 描述 |
|
||
| --------- | ---- | -------- | ----------- |
|
||
| `projectId` | string | 是 | 您的 Supabase 项目 ID \(例如:jdrkgepadsdopsntdlom\) |
|
||
| `bucket` | string | 是 | 存储桶的名称 |
|
||
| `path` | string | 是 | 文件的路径 \(例如:"folder/file.jpg"\) |
|
||
| `expiresIn` | number | 是 | URL 过期的秒数 \(例如:3600 表示 1 小时\) |
|
||
| `download` | boolean | 否 | 如果为 true,则强制下载而不是内联显示 \(默认值:false\) |
|
||
| `apiKey` | string | 是 | 您的 Supabase 服务角色密钥 |
|
||
|
||
#### 输出
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
| --------- | ---- | ----------- |
|
||
| `message` | string | 操作状态消息 |
|
||
| `signedUrl` | string | 访问文件的临时签名 URL |
|
||
|
||
## 注意事项
|
||
|
||
- 类别:`tools`
|
||
- 类型:`supabase`
|