# connect_supabase **Repository Path**: bgIntegration/connect_supabase ## Basic Information - **Project Name**: connect_supabase - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-26 - **Last Updated**: 2026-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Connect to supabase ## 0. Overview 本项目是一个C++客户端程序,用于连接Supabase数据库并查询contents表中的file_url字段数据,返回JSON格式的结果。 ## 1. Supabase数据库连接 ### What's done - 实现了Supabase REST API客户端类(SupabaseClient) - 使用libcurl库进行HTTP请求 - 支持通过配置文件(supabase.conf)、命令行参数或环境变量配置Supabase URL和API密钥 - 实现了查询contents表file_url字段的功能 - 使用nlohmann/json库进行JSON数据的解析和输出 - 添加了错误处理和HTTP响应码检查 - 创建了CMakeLists.txt构建配置文件 - 配置文件读取优先级:命令行参数 > supabase.conf文件 > 环境变量 ### Remain issues ## 2. 数据查询功能 ### What's done - 实现了查询contents表所有file_url字段的功能 - 返回标准JSON格式数据 - 支持统计查询结果数量 - 使用Supabase REST API的select参数进行字段筛选 ### Remain issues ## 3. 构建和运行 ### What's done - 创建了CMakeLists.txt配置文件 - 配置了libcurl和nlohmann/json依赖 - 支持Windows和Linux平台 ### Remain issues - 可以添加Docker容器化支持 - 可以添加单元测试 - 可以添加CI/CD配置 - 可以添加配置文件验证功能 ## 使用说明 ### 依赖要求 - CMake 3.10或更高版本 - C++17或更高版本的编译器 - **libcurl开发库**(必需) - nlohmann/json库(通过CMake自动下载) #### 安装libcurl **Windows:** - 使用vcpkg(推荐): ```bash vcpkg install curl:x64-windows vcpkg integrate install ``` - 或下载预编译版本: https://curl.se/windows/ - 或使用包管理器如 Chocolatey: `choco install curl` **Linux (Ubuntu/Debian):** ```bash sudo apt-get update sudo apt-get install libcurl4-openssl-dev ``` **Linux (CentOS/RHEL):** ```bash sudo yum install libcurl-devel ``` ### 编译步骤 #### Linux/macOS: ```bash mkdir build cd build cmake .. make ``` #### Windows (使用Visual Studio 2022或更新版本): ```bash mkdir build cd build cmake .. -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=C:\Users\Administrator\Desktop\vonphy\project\c\vcpkg\scripts\buildsystems/vcpkg.cmake cmake --build . --config Release chcp 65001 $OutputEncoding = [Console]::OutputEncoding = [Text.UTF8Encoding]::new($false) .\SupabaseConnection.exe ``` #### Windows (使用Ninja): ```bash mkdir build cd build cmake .. -G Ninja -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ cmake --build . -j ``` ### 运行方法 配置读取优先级:**命令行参数 > supabase.conf文件 > 环境变量** #### 方法1: 使用配置文件(推荐) 1. 复制示例配置文件: ```bash cp supabase.conf.example supabase.conf ``` 2. 编辑 `supabase.conf` 文件,填入你的Supabase配置: ``` SUPABASE_URL=https://your-project.supabase.co SUPABASE_API_KEY=your-anon-key ``` 3. 运行程序: ```bash ./SupabaseConnection ``` #### 方法2: 使用命令行参数 ```bash ./SupabaseConnection ``` #### 方法3: 使用环境变量 ```bash # Linux/macOS export SUPABASE_URL=https://your-project.supabase.co export SUPABASE_API_KEY=your-anon-key ./SupabaseConnection # Windows PowerShell $env:SUPABASE_URL="https://your-project.supabase.co" $env:SUPABASE_API_KEY="your-anon-key" .\SupabaseConnection.exe ``` ### 配置说明 #### 配置文件格式 (supabase.conf) 配置文件支持以下格式: ``` SUPABASE_URL=https://your-project.supabase.co SUPABASE_API_KEY=your-anon-key ``` 或者使用小写: ``` supabase_url=https://your-project.supabase.co supabase_api_key=your-anon-key ``` 配置文件支持: - 以 `#` 或 `;` 开头的注释行 - 空行会被忽略 - 值可以用引号包裹(会自动去除) - 等号前后的空白字符会被自动去除 #### 配置参数说明 - `SUPABASE_URL` 或 `supabase_url`: 你的Supabase项目URL,格式为 `https://your-project.supabase.co` - `SUPABASE_API_KEY` 或 `supabase_api_key`: Supabase的匿名API密钥(anon key),可以在Supabase项目设置中找到 **注意**: `supabase.conf` 文件包含敏感信息,已被添加到 `.gitignore`,请勿提交到版本控制系统。 ### 输出格式 程序会输出JSON格式的查询结果,例如: ```json [ { "file_url": "https://example.com/file1.pdf" }, { "file_url": "https://example.com/file2.jpg" } ] ```