Справочник команд Firebase CLI для подключения к данным

Firebase CLI — это инструмент, который позволяет вам управлять продуктами и сервисами Firebase и настраивать их из командной строки.

Интерфейс командной строки предоставляет команды, которые можно использовать для выполнения различных задач Data Connect , таких как создание нового проекта Data Connect , инициализация соответствующего локального рабочего каталога, настройка эмулятора Data Connect , составление списка ресурсов Data Connect , создание клиентских SDK и многое другое.

Команды настройки

Добавьте Data Connect в проект Firebase

инициализация Firebase

Используйте firebase init , чтобы настроить новую конфигурацию локального проекта. Этот рабочий процесс создает или обновляет файлы конфигурации Firebase в вашем каталоге.

firebase init

Процесс firebase init поможет вам настроить службу и базу данных, а также (при необходимости) установить эмулятор Data Connect и настроить сгенерированные SDK.

Настройка сервиса и базы данных

Если вы выберете dataconnect для настройки продукта, интерфейс командной строки предложит вам указать новое имя и местоположение службы, а также указать, следует ли связать существующий экземпляр Cloud SQL для PostgreSQL или создать новый экземпляр.

Если связан существующий экземпляр, CLI проверяет наличие совместимых настроек, таких как аутентификация IAM и общедоступные IP-адреса.

Настройка Local Emulator Suite

Поток CLI предлагает настроить эмуляторы, включая эмулятор Data Connect .

Команды эмулятора Data Connect

Запустите эмулятор Data Connect .

эмуляторы: пуск/exec

firebase emulators:start/exec

Используйте версию эмулятора Data Connect из Local Emulator Suite в интерактивном режиме с start или неинтерактивном режиме на основе сценария с помощью exec .

Команды управления схемой и соединителями

В этом разделе содержится справочная информация CLI для команд, которые вы используете для управления схемами и соединителями.

Варианты использования и рекомендуемые методы, связанные с этими командами, см. в руководстве по управлению схемой и соединителем .

Развертывание ресурсов схемы и соединителя

развертывать

firebase deploy

Эта команда развертывает ресурсы для служб Data Connect, индексированные в firebase.json . При необходимости выполняется миграция схемы .

Команда Описание

развертывание огневой базы

Флаг Описание

--только подключение к данным

Разверните схемы и соединители для всех служб Data Connect для этого проекта, но не развертывайте другие ресурсы продукта Firebase.

--only dataconnect:serviceId

Разверните схему и соединители для указанной службы подключения к данным.

--only dataconnect:serviceId:connectorId

Разверните один соединитель для указанной службы подключения к данным.

--only dataconnect:serviceId:schema

Разверните схему для указанной службы подключения к данным.

С помощью флагов –-only вы можете передавать значения, разделенные запятыми, для развертывания любого подмножества ресурсов, которое вы хотите.

firebase deploy --only dataconnect:service1:schema,dataconnect:service2

Получение списка служб, схем и соединителей Data Connect

dataconnect:services:list

firebase dataconnect:services:list

Эта команда выводит основную информацию о службах, схемах и соединителях, развернутых в проекте.

Сравнение и миграция схем SQL

dataconnect:sql:diff

firebase dataconnect:sql:diff

Эта команда сравнивает локальную схему сервиса с текущей схемой соответствующей базы данных Cloud SQL. Он распечатывает команды, которые будут выполняться для переноса базы данных в новую схему.

Команда Описание

соединение с данными Firebase: SQL: diff

Флаг/параметр Описание

идентификатор службы

Укажите услугу. Если этот параметр опущен, напечатайте разницу для всех сервисов в firebase.json.

dataconnect:sql:мигрировать

firebase dataconnect:sql:migrate

Эта команда применяет изменения локальной схемы к базе данных Cloud SQL службы.

Когда вы настраиваете новый локальный проект Data Connect с файлом dataconnect.yaml по умолчанию, команда dataconect:sql:migrate запрашивает все необходимые изменения, а затем запрашивает любые необязательные изменения перед выполнением изменений. . Вы можете изменить это поведение, чтобы всегда включать или игнорировать необязательные изменения, обновив конфигурацию dataconnect.yaml , как описано в разделе «Миграция схемы в строгом или совместимом режиме».

В интерактивных средах интерфейс командной строки отображает каждый оператор SQL миграции (и указывает, является ли он разрушительным) и предлагает внести изменения, которые вы хотите применить. Передача флага --force эквивалентна принятию всех запросов.

В неинтерактивной среде:

  • без --force вносятся только неразрушающие изменения. Если есть деструктивные изменения, CLI прерывается без внесения изменений.
  • с --force все изменения вносятся. Если это включает в себя какие-либо деструктивные изменения, они будут распечатаны, и вам будет предложено продолжить, если не указан флаг --force .
Команда Описание

Firebase dataconnect:sql:migrate

Флаг Описание

идентификатор службы

Перенесите базу данных для указанной службы. ServiceId выводится, если в вашем проекте есть только одна служба.

--сила

Автоматически принимать подсказки.

Как и в случае с другими флагами --only , вы можете предоставить несколько служб, разделенных запятыми.

Перенос схемы в строгий или совместимый режим.

При миграции схемы Data Connect предусмотрены два разных режима проверки схемы: строгий и совместимый . Строгая проверка режима требует, чтобы схема базы данных точно соответствовала схеме приложения, прежде чем схему приложения можно будет развернуть. Проверка режима совместимости требует, чтобы схема базы данных была совместима со схемой приложения, то есть элементы в вашей базе данных, которые не используются схемой вашего приложения, остаются неизмененными.

Эти режимы проверки схемы и рекомендации по миграции схемы описаны в руководстве по управлению схемой и соединителями.

Режим проверки определяется с помощью ключа schemaValidation в файле dataconnect.yaml . Если schemaValidation не указан, интерфейс командной строки применяет совместимые изменения и выдает запрос перед выполнением каких-либо строгих изменений. См. ссылку на конфигурацию .

Команды SDK

Создание SDK

dataconnect: SDK: создать

firebase dataconnect:sdk:generate

Эта команда генерирует типизированные SDK, объявленные в Connector.yaml .

Также ознакомьтесь с руководствами по работе с веб-SDK , Android SDK и iOS SDK .

Команда Описание

Firebase dataconnect: SDK: генерировать

Флаг Описание

--смотреть

Поддерживает процесс и генерирует новые SDK всякий раз, когда вы сохраняете изменения в своей схеме и файлах соединителя GQL.

Если генерация завершится неудачей, ошибки будут выведены на стандартный вывод, сгенерированный код не будет изменен, и команда продолжит выполнение.

--only ConnectorId:платформа

Создавайте SDK только для одной платформы и одного соединителя.

С помощью флагов –only вы можете передавать значения, разделенные запятыми.

firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin

Команды управления Cloud SQL

Предоставление ролей SQL для Cloud SQL

dataconnect:sql:грант

firebase dataconnect:sql:grant

Data Connect работает на базе вашего собственного экземпляра PostgreSQL, размещенного в Cloud SQL. В некоторых случаях вам может потребоваться прямой доступ к вашей базе данных, чтобы запросить или обновить данные, созданные вашими приложениями Data Connect . Для этого вам необходимо предоставить одну из ролей, определенных в этом разделе, нужному пользователю или учетной записи службы.

Подробную информацию о предоставленных ролях см. в разделе Роли пользователей PostgreSQL .

Роль SQL-роль Разрешения Использование Грантабельный
читатель firebasereader_<db_name>_<schema_name> Доступ только для чтения к базе данных.

Может выполнять операции SELECT для всех таблиц в указанной схеме.
Идеально подходит для пользователей или служб, требующих извлечения данных, но не их изменения. Да
писатель firebasewriter_<db_name>_<schema_name> Доступ для чтения и записи в базу данных.

Может выполнять операции SELECT , INSERT , UPDATE , DELETE и TRUNCATE для всех таблиц в схеме.
Подходит для пользователей или служб, которым необходимо изменять данные в базе данных. Да
владелец firebaseowner_<db_name>_<schema_name> Владелец схемы.

Имеет все привилегии для всех таблиц и последовательностей в схеме.
Эта роль в сочетании с ролью IAM roles/cloudsql.client предоставляет разрешение на выполнение миграции базы данных.

Например, при вызове firebase dataconnect:sql:migrate .
Да
суперпользователь cloudsqlsuperuser Встроенная роль суперпользователя с полными правами доступа к базе данных.

Помимо разрешений владельца, он может создавать схемы, удалять схемы, устанавливать расширения и выполнять любые другие административные задачи.

Доступ к нему осуществляется через CLI, войдя в систему как «firebasesuperuser».
Требуется для установки расширений, создания исходной схемы и предоставления любых разрешенных ролей SQL другим пользователям.

Если пользователю, не являющемуся администратором, необходимы привилегии суперпользователя, миграция завершится неудачно, и пользователю будет предложено попросить администратора базы данных (т. е. пользователя с roles/cloudsql.admin ) выполнить привилегированные команды SQL.
Предоставляется пользователям с roles/cloudsql.admin и не может быть предоставлено напрямую из Firebase CLI.
Команда Описание

Firebase dataconnect:sql:grant

Флаг/параметр Описание

-R, --ролевая роль

Предоставляемая роль SQL: владелец, писатель или читатель.

-E, --email адрес_электронной почты

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

Глобальные варианты

Следующие глобальные параметры применяются ко всем командам:

  • --json переключает вывод CLI в JSON для анализа другими инструментами.
  • --noninteractive и --interactive переопределяют, при необходимости, автоматическое обнаружение сред без TTY.