Интеграция с Supabase: чтение, запись и обновление строк без кода

Интеграция с Supabase в nana800 читает, добавляет, обновляет и удаляет строки в таблицах вашего проекта прямо из схемы, а ещё вызывает функции Postgres. Для подключения нужны только адрес проекта и секретный ключ из настроек Supabase, пароль от базы и код не нужны. Каждая операция стоит 0,20 ₽, а баланс каждый месяц бесплатно пополняется до 350 ₽.

Собрать в конструкторе
  • Запуск блока: 0,20 ₽
  • Бесплатно каждый месяц: 350 ₽
  • Карта не нужна

Что можно сделать

  • Сохранять заявки с сайта, заказы и сообщения боту строками в таблицу, по одной или списком
  • Читать строки с фильтрами, сортировкой, лимитом и пропуском для чтения по страницам
  • Обновлять и удалять строки по фильтру, например менять статус заказа по его номеру
  • Добавлять строку или обновлять уже существующую, если совпала колонка без повторов, например email клиента (upsert)
  • Вызывать свои функции Postgres по имени с аргументами в JSON
  • Выполнять произвольный SQL через функцию exec_sql, которую вы один раз создаёте в базе

Блоки в конструкторе

  • Запрос к Supabase

    Действие · 0,20 ₽ за запуск

    Одна из семи операций на выбор: select читает строки, insert добавляет, update изменяет, upsert добавляет или изменяет, delete удаляет, rpc вызывает функцию Postgres, sql выполняет SQL-запрос.

Как настроить

  1. 1

    Возьмите адрес проекта и ключ

    Откройте проект в Supabase. В Project Settings, раздел Data API, скопируйте Project URL вида https://abcdefghijklm.supabase.co. В разделе API Keys скопируйте ключ service_role (начинается с eyJ) или secret key (начинается с sb_secret_). Ключ даёт полный доступ к базе, никому его не показывайте.

  2. 2

    Создайте схему и добавьте триггер

    В конструкторе создайте схему и поставьте триггер, который принесёт данные: «webhook» для заявок с сайта, сообщение боту в Telegram или запуск по расписанию. Для первой проверки хватит триггера «button», он запускает схему вручную.

  3. 3

    Подключите блок Supabase

    Добавьте блок «Supabase», вставьте адрес проекта в «Адрес проекта Supabase», а ключ в «Секретный ключ Supabase». Выберите операцию, например insert, и укажите название таблицы.

  4. 4

    Заполните данные или фильтры

    Для insert и upsert напишите в «Данных строки» JSON-объект, например имя и email из триггера. Для select, update и delete задайте фильтры: слева колонка и оператор через двоеточие, например id:eq, справа значение. Без оператора используется eq, то есть равно.

  5. 5

    Включите и проверьте схему

    Включите схему, нажмите кнопку в триггере «button» и откройте результат блока: строки лежат в records, их число в affected_count, а при ошибке в error_message будет ответ Supabase. Когда всё работает, оставьте схему включённой. Пока она включена, она стоит 0,42 ₽ в час.

Частые вопросы

Каждая операция с Supabase стоит 0,20 ₽. Включённая схема стоит 0,42 ₽ в час. Баланс каждый месяц бесплатно пополняется до 350 ₽, карта не нужна. Если схема включена круглосуточно весь месяц, большая часть этой суммы уходит на часы работы схемы.

Секретный: service_role (начинается с eyJ) или secret key (начинается с sb_secret_). Оба лежат в Project Settings, раздел API Keys. Такой ключ работает в обход правил доступа RLS, поэтому храните его только в блоке и никому не передавайте.

Нет. Операции update и delete не выполняются без хотя бы одного фильтра, и у каждого фильтра должно быть значение. Если в фильтре опечатка в операторе, блок остановится с ошибкой и ничего не отправит в базу.

Один раз создайте в базе функцию exec_sql, её текст есть в инструкции к блоку, и закройте её от публичных ключей командой REVOKE. После этого выберите операцию sql и напишите запрос. Без этой функции блок вернёт ошибку с подсказкой, как её создать.

Блок Supabase работает через адрес проекта и секретный ключ, а фильтры задаются полями, без SQL. Блок «Postgres external database operation» подключается к той же базе напрямую по паролю и выполняет любой SQL с безопасной подстановкой значений. Выбирайте то, что удобнее.

Да, если адрес проекта открыт в интернет. Адреса внутри закрытой сети и localhost блок не принимает, поэтому проект Supabase на локальном компьютере подключить не получится.

Соберите первую схему бесплатно

Регистрация бесплатная, карта не нужна. Каждый месяц баланс бесплатно пополняется до 350 ₽, этого хватает примерно на 3 500 запусков простых блоков.

Собрать в конструкторе