Com a CLI Firebase, é possível gerenciar seus projetos do Firebase em um diretório local com controle de versão. Isso inclui serviços Data Connect nos seus projetos, conectores para esses serviços e recursos como esquema, origens de consulta e 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 prévia particular e comandos da CLI relacionados ao Data Connect, consulte a referência da CLI.
Este guia de referência documenta:
- Entradas específicas do 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 seu 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 das fontes de esquema de aplicativo, fontes 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 realizada
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 pedir
sua confirmação antes de executar mudanças estritas. Quando definido, o comportamento é o seguinte:
- Modo
STRICT
O esquema do banco de dados precisa corresponder exatamente ao esquema do aplicativo antes que ele 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 ele 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ê escreve. Os elementos do seu banco de dados que não são usados pelo esquema do aplicativo permanecem inalterados. Portanto, depois da implantação, seu back-end pode conter esquemas, tabelas e colunas não utilizados.
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 pressupõe 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 connector.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 de nível inferior do Data Connect. Consulte a tabela para ver o mapeamento.
Para gerenciar atribuições individuais de papéis do IAM para Data Connect em um nível mais granular, use o console do Google Cloud.
Papel do IAM | Permissões |
---|---|
firebasedataconnect.googleapis.com/admin Administrador da API Firebase Data Connect Essa função 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 É fornecido pelas funções de proprietário, editor, leitor, administrador e leitor do Firebase, administrador 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 Fornecido pelas funções de proprietário do Cloud, editor do Cloud, administrador do Firebase e administrador de desenvolvimento do Firebase. |
Acesso completo de leitura e gravação às origens de dados.firebasedataconnect.googleapis.com/services.executeGraphql firebasedataconnect.googleapis.com/services.executeGraphqlRead
|
firebasedataconnect.googleapis.com/dataViewer Leitor de dados da API Firebase Data Connect Fornecido pelas funções de proprietário do Cloud, editor do Cloud, administrador do Firebase e administrador de desenvolvimento do Firebase. |
Acesso somente leitura a origens de dados.firebasedataconnect.googleapis.com/services.executeGraphqlRead
|