A CLI Firebase permite gerenciar seus projetos do Firebase em um diretório de projeto local controlável por versão. Isso inclui serviços Data Connect nos seus projetos, conectores para esses serviços e recursos como esquemas, consultas e fontes de mutação para cada conector. A CLI também permite instalar e operar o emulador Firebase Data Connect. A CLI é uma alternativa eficiente para trabalhar no console Firebase.
Para instruções sobre como instalar o experimento da CLI Firebase para o programa de visualização privada e comandos da CLI relacionados a Data Connect, consulte a referência da CLI.
Este guia de referência documenta:
- Entradas específicas de Data Connect no arquivo de configuração
do projeto
firebase.json
. - Configurações de Data Connect em
dataconnect.yaml
econnector.yaml
. - Papéis do IAM que você precisa configurar para seus projetos que usam Data Connect.
Arquivos de configuração do projeto do Firebase
Referência de configuração do firebase.json
Use as chaves dataconnect
para configurar um ou mais serviços Data Connect
no projeto.
dataconnect: {
source: string // Path to the directory containing the dataconnect.yaml service file.
}
Referência de configuração do dataconnect.yaml
O arquivo dataconnect.yaml
armazena informações de configuração sobre os locais
de origens de esquema de aplicativo, origens de conector e informações de conexão
da fonte de dados. O arquivo também serve como um indicador de diretório de projeto para a
CLI Firebase.
A chave schemaValidation
controla o nível de validação de esquema realizado
quando os esquemas são migrados durante a implantação. Sem um valor definido, o comportamento do
comando dataconect:sql:migrate
é aplicar mudanças compatíveis e solicitar
a você antes de executar qualquer mudança rígida. Quando definido, o comportamento é o seguinte:
- Modo
STRICT
O esquema do banco de dados precisa corresponder exatamente ao esquema do aplicativo antes que o esquema do aplicativo possa ser implantado. Todas as tabelas ou colunas que não forem usadas no esquema Data Connect serão excluídas do banco de dados. - Modo
COMPATIBLE
O esquema do banco de dados precisa ser compatível com o esquema do aplicativo antes que o esquema do aplicativo possa ser implantado. Todas as mudanças adicionais são consideradas opcionais. Compatível significa que as migrações de esquema são baseadas no esquema do aplicativo que você cria. Os elementos no seu banco de dados que não são usados pelo esquema do aplicativo não são modificados. Portanto, após a implantação, o back-end pode conter esquemas, tabelas e colunas não usados.
Os valores de outras chaves neste arquivo são explicados nos comentários abaixo.
# 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]
O arquivo YAML assume uma estrutura de diretório padrão (mas configurável) de:
./(project root)
/dataconnect
dataconnect.yaml
/schema
*.gql
/connector
connector.yaml
*.gql
Referência de configuração do conector.yaml
Use connector.yaml
para configurar o modo de autenticação padrão e as opções de geração
do 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
Configuração do IAM para projetos do Data Connect
Papéis granulares do IAM para Data Connect
Os papéis básicos e predefinidos do Firebase são mapeados para papéis Data Connect de nível inferior. Consulte a tabela para conferir o mapeamento.
Para gerenciar atribuições de papel do IAM individuais para Data Connect em um nível mais detalhado, use o console Google Cloud.
Papel do IAM | Permissões |
---|---|
firebasedataconnect.googleapis.com/admin Administrador da API Firebase Data Connect Esse papel inclui o leitor da API Firebase Data Connect. É equivalente a firebasedataconnect.* .Isso é fornecido pelas funções de proprietário do Cloud, editor do Cloud, administrador do Firebase e administrador do Firebase Develop. |
Acesso completo aos recursos da API Firebase Data Connect, inclusive dados.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 Leitor da API Firebase Data Connect Isso é fornecido pelos papéis de proprietário do Cloud, editor do Cloud, leitor do Cloud, administrador do Firebase, leitor do Firebase, administrador do Firebase Develop e leitor do Firebase Develop. |
Acesso somente leitura aos recursos da API Firebase Data Connect. O papel não
concede acesso aos dados.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 Administrador de dados da API Firebase Data Connect Isso é fornecido pelas funções de proprietário do Cloud, editor do Cloud, administrador do Firebase e administrador do Firebase Develop. |
Acesso completo de leitura e gravação a fontes de dados.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Leitor de dados da API Firebase Data Connect Isso é fornecido pelos papéis de proprietário do Cloud, editor do Cloud, administrador do Firebase e administrador de desenvolvimento do Firebase. |
Acesso somente leitura a fontes de dados.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|