Интерфейс командной строки Firebase позволяет вам управлять проектами Firebase в локальном каталоге проектов с контролем версий. Сюда входят службы Data Connect в ваших проектах, соединители для этих служб, а также такие ресурсы, как схема, источники запросов и мутаций для каждого соединителя. Интерфейс командной строки также позволяет вам установить и использовать эмулятор Firebase Data Connect . CLI — эффективная альтернатива работе в консоли Firebase .
Инструкции по установке эксперимента Firebase CLI для программы Private Preview и команд CLI, связанных с Data Connect , см. в справочнике по CLI .
Данное справочное руководство документирует:
- Записи, относящиеся к Data Connect , в файле конфигурации проекта
firebase.json
. - Конфигурации Data Connect в
dataconnect.yaml
иconnector.yaml
. - Роли IAM, которые вам необходимо настроить для своих проектов, использующих Data Connect .
Файлы конфигурации проекта Firebase
Справочник по конфигурации firebase.json
Используйте ключи dataconnect
, чтобы настроить одну или несколько служб Data Connect в вашем проекте.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Справочник по настройке dataconnect.yaml
В файле dataconnect.yaml
хранится информация о конфигурации о расположении источников схемы приложения, источников соединителей и информация о подключении к источникам данных. Этот файл также служит указателем каталога проекта для Firebase CLI.
Ключ schemaValidation
управляет уровнем проверки схемы, выполняемой при переносе схем во время развертывания. Если значение не установлено, поведение команды dataconect:sql:migrate
заключается в применении совместимых изменений и выдаче запроса перед выполнением каких-либо строгих изменений. Если установлено, поведение следующее:
-
STRICT
режим. Схема базы данных должна точно соответствовать схеме приложения, прежде чем схему приложения можно будет развернуть. Любые таблицы и столбцы, которые не используются в вашей схеме Data Connect будут удалены из базы данных. -
COMPATIBLE
режим. Схема базы данных должна быть совместима со схемой приложения, прежде чем схему приложения можно будет развернуть; любые дополнительные изменения считаются необязательными. Совместимость означает, что миграция схемы основана на написанной вами схеме приложения. Элементы в вашей базе данных, которые не используются схемой вашего приложения, остаются неизмененными. Поэтому после развертывания ваш сервер может содержать неиспользуемые схемы, таблицы и столбцы.
Значения других ключей в этом файле объяснены в комментариях ниже.
# The top-level Firebase Data Connect YAML file.
# The Firebase Data Connect API version to target.
# Optional. Defaults to the latest version.
specVersion: string
# The ID of the Firebase Data Connect service resource.
# Required.
serviceId: string
# The location of the Firebase Data Connect service.
# Required.
location: string
# Required.
schema:
# Relative path to directory for schema definitions.
# Recursively loads all .gql files in this directory.
# Optional. If not present, defaults to ./schema.
source: string
# Datasource connection information.
# Required.
datasource:
# Required.
postgresql:
# The name of the PostgreSQL database.
# Required.
database: string
cloudSql:
# The ID of the CloudSQL instance resource.
# Required.
instanceId: string
# Schema validation mode for schema migrations.
# Defaults to unspecified/commented out, meaning you are prompted to
# review all changes during migration.
# If desired, uncomment and indicate one of "STRICT" or "COMPATIBLE".
schemaValidation: string
# Required.
# Relative paths to directories for connector definitions.
# Recursively loads all .gql files in the listed directories.
# All directories specified MUST contain a connector.yaml file.
connectorDirs: [string]
Файл YAML предполагает структуру каталогов по умолчанию (но настраиваемую):
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
Справочник по конфигурации Connector.yaml
Используйте connector.yaml
для настройки режима аутентификации по умолчанию и параметров создания SDK.
# The connector-level YAML file.
# Required. The connector name of the Firebase Data Connect connector resource.
connectorId: string
# Optional. If not specified, no generated libraries (i.e. type-safe SDKs) will be generated.
generate:
# Optional.
javascriptSdk:
# Path to the directory that will be updated with the latest generated
# web SDK.
# Required.
- outputDir: string
# Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
# Optional. If not provided, the package will not be auto-installed for you.
- packageJsonDir: string
# Name of the package to be created.
# Optional. Defaults to @firebasegen/<connectorID>
- package: string
<option>: string
# Optional.
swiftSdk:
# Path to the directory that will be updated with the latest generated
# iOS Swift SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
# Optional.
kotlinSdk:
# Path to the directory that will be updated with the latest generated
# Android SDK.
# Required.
- outputDir: string
# Name of the package to be created.
- package: string
<option>: string
Конфигурация IAM для проектов Data Connect
Детализированные роли IAM для Data Connect
Базовые и предопределенные роли Firebase сопоставляются с ролями Data Connect более низкого уровня. Обратитесь к таблице для сопоставления.
Чтобы управлять отдельными назначениями ролей IAM для Data Connect на более детальном уровне, используйте консоль Google Cloud .
Роль IAM | Разрешения |
---|---|
firebasedataconnect.googleapis.com/admin Администратор API Firebase Data Connect Эта роль включает в себя средство просмотра API Firebase Data Connect. Это эквивалентно firebasedataconnect.* .Это предоставлено владельцем облака, редактором облака, Роли администратора Firebase и Firebase Develop. | Полный доступ к ресурсам API Firebase Data Connect, включая данные.firebasedataconnect.googleapis.com/operations.delete firebasedataconnect.googleapis.com/operations.cancel firebasedataconnect.googleapis.com/services.create firebasedataconnect.googleapis.com/services.update firebasedataconnect.googleapis.com/services.delete firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead firebasedataconnect.googleapis.com/schemas.create firebasedataconnect.googleapis.com/schemas.update firebasedataconnect.googleapis.com/schemas.delete firebasedataconnect.googleapis.com/schemaRevisions.create firebasedataconnect.googleapis.com/schemaRevisions.delete firebasedataconnect.googleapis.com/connectors.create firebasedataconnect.googleapis.com/connectors.update firebasedataconnect.googleapis.com/connectors.delete firebasedataconnect.googleapis.com/connectorRevisions.create firebasedataconnect.googleapis.com/connectorRevisions.delete |
firebasedataconnect.googleapis.com/viewer Средство просмотра API Firebase Data Connect Это предоставлено владельцем облака, редактором облака, Cloud Viewer, Администратор Firebase, Средство просмотра Firebase, Роли администратора Firebase Develop и зрителя Firebase Develop. | Доступ только для чтения к ресурсам API Firebase Data Connect. Роль не предоставляет доступ к данным.cloudresourcemanager.googleapis.com/projects.list cloudresourcemanager.googleapis.com/projects.get firebasedataconnect.googleapis.com/operations.list firebasedataconnect.googleapis.com/operations.get firebasedataconnect.googleapis.com/locations.list firebasedataconnect.googleapis.com/locations.get firebasedataconnect.googleapis.com/services.list firebasedataconnect.googleapis.com/services.get firebasedataconnect.googleapis.com/schemas.list firebasedataconnect.googleapis.com/schemas.get firebasedataconnect.googleapis.com/schemaRevisions.list firebasedataconnect.googleapis.com/schemaRevisions.get firebasedataconnect.googleapis.com/connectors.list firebasedataconnect.googleapis.com/connectors.get firebasedataconnect.googleapis.com/connectorRevisions.list firebasedataconnect.googleapis.com/connectorRevisions.get |
firebasedataconnect.googleapis.com/dataAdmin Администратор данных API Firebase Data Connect Это предоставлено владельцем облака, редактором облака, Роли администратора Firebase и Firebase Develop. | Полный доступ для чтения и записи к источникам данных.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead |
firebasedataconnect.googleapis.com/dataViewer Средство просмотра данных API Firebase Data Connect Это предоставлено владельцем облака, редактором облака, Роли администратора Firebase и Firebase Develop. | Доступ только для чтения к источникам данных.firebasedataconnect.googleapis.com/services.executeGraphqlRead |