Neste guia de início rápido, você aprenderá a:
- Adicione Firebase Data Connect ao seu projeto do Firebase.
- Configure um ambiente de desenvolvimento que inclua uma extensão do Visual Studio Code para trabalhar com uma instância de produção.
- Em seguida, vamos mostrar como:
- Crie um esquema para um app de e-mail e implante na produção.
- Defina consultas e mutações para seu esquema.
- Implante o esquema, a consulta e os dados finais na produção.
Pré-requisitos
Para usar este guia de início rápido, você precisa do seguinte:
- Linux, macOS ou Windows
- Visual Studio Code
Conectar-se ao seu projeto do Firebase
- Crie um projeto do Firebase, caso ainda não tenha feito isso.
- No console do Firebase, clique em Adicionar projeto e siga as instruções na tela.
Faça upgrade do seu projeto para o plano Blaze. Isso permite criar um bucket do Cloud SQL para a instância do PostgreSQL.
Navegue até a seção Data Connect do console do Firebase e siga o fluxo de trabalho de configuração do produto.
Selecione um local para o banco de dados do CloudSQL para PostgreSQL.
Anote os nomes e os IDs do projeto, do serviço e do banco de dados para confirmar mais tarde.
Siga o fluxo de configuração restante e clique em Concluído.
Escolher e configurar um ambiente de desenvolvimento
O Data Connect oferece suporte a duas experiências de desenvolvimento para prototipagem:
- Se você for um desenvolvedor do Kotlin para Android, iOS ou Web, poderá usar Desenvolvimento do VS Code para projetar e testar esquemas e operações localmente à instância do Cloud SQL para PostgreSQL.
- Se você é um desenvolvedor da Web, pode usar o Desenvolvimento IDX para desenvolver em um espaço de trabalho do IDX usando um modelo IDX pré-configurado com o PostgreSQL, Extensão do VS Code com emulador Data Connect e código do guia de início rápido configurar para você. Para mais informações, acesse Site do Project IDX.
O foco deste guia de início rápido é o fluxo de desenvolvimento da extensão do VS Code. Para continuar:
- Crie um novo diretório para seu projeto local.
- Abra o VS Code no novo diretório.
Faça o download da extensão, agrupada como um pacote VSIX, do Firebase Storage.
No menu Exibir do VS Code, selecione Extensões.
Na barra de título do painel Extensões, clique no ícone de menu. more_horiz e siga Instalar pelo VSIX...
Como alternativa, instale um banco de dados PostgreSQL local para desenvolvimento local com o emulador Data Connect. Essa configuração é abordada no final deste guia de início rápido.
Configurar seu projeto local
Instale a CLI seguindo as instruções normais. Se o npm já estiver instalado, execute o seguinte comando:
npm install -g firebase-tools
Configurar o diretório do projeto
Para configurar seu projeto local, inicialize o diretório do projeto.
No painel à esquerda do VS Code, clique no ícone do Firebase para abrir a interface da extensão do VS Code para o Firebase.
Na interface da extensão do Firebase:
- Verifique se você fez login.
- Clique no botão Run firebase init.
- Verifique a guia Terminal no painel inferior do VS Code para conferir os comandos.
- Selecione Data Connect como um recurso para usar neste diretório.
- Quando solicitado, forneça os IDs do projeto, do serviço e do banco de dados do Data Connect projeto criado anteriormente no console.
criar um esquema
No diretório do projeto do Firebase, no arquivo /dataconnect/schema/schema.gql
, comece a definir um esquema GraphQL que inclua usuários e e-mails.
Usuário
Em Data Connect, os campos do GraphQL são mapeados para colunas. Os usuários têm um
uid
, name
e um e-mail address
. Data Connect reconhece vários
tipos de dados primitivos: String
e Date
.
Copie o snippet a seguir ou remova a marca de comentário das linhas correspondentes no arquivo.
# File `/dataconnect/schema/schema.gql`
type User @table(key: "uid") {
uid: String!
name: String!
address: String!
}
Por padrão, Firebase Data Connect adicionará uma chave id
de UUID se nenhuma for
fornecidas. No entanto, neste caso, você quer que uid
seja a chave primária, o que
pode ser feito com a diretiva @table(key: "uid")
.
Agora que você tem usuários, é possível criar modelos de e-mails. Aqui você pode adicionar o tamanho (ou colunas) de dados de e-mail. Desta vez, omitimos a adição de uma chave primária porque você pode usar Data Connect para gerenciá-la.
# File `/dataconnect/schema/schema.gql`
type Email @table {
subject: String!
sent: Date!
text: String!
from: User!
}
O campo from
é mapeado para um tipo de User
.
Data Connect entende que essa é uma relação entre Email
e User
e vai gerenciar essa relação para você.
Implante o esquema na produção
Se você estiver usando a extensão do Firebase VS Code para trabalhar com sua de produção, implante o esquema antes de continuar. Depois de implantar o esquema no banco de dados de produção, você poderá acessá-lo no console.
- É possível usar a extensão do Firebase VS Code para implantar.
- Na interface da extensão, no painel Firebase Data Connect, clique em Implantar.
- Talvez seja necessário revisar as alterações no esquema e aprovar imagens potencialmente destrutivas
modificações. Você vai precisar fazer o seguinte:
- Revisar mudanças no esquema usando
firebase dataconnect:sql:diff
- Quando estiver satisfeito com as mudanças, aplique-as usando o fluxo iniciado
firebase dataconnect:sql:migrate
:
- Revisar mudanças no esquema usando
Adicionar dados às tabelas
No painel do editor do VS Code, os botões do CodeLens aparecem sobre os
tipos do GraphQL em /dataconnect/schema/schema.gql
. Como você implantou
seu esquema para produção, é possível usar as opções Adicionar dados e Executar (produção)
os botões adicionam dados ao banco de dados no back-end.
Para adicionar registros às tabelas User
e Email
:
- No
schema.gql
, clique no botão Adicionar dados acima do tipoUser
. declaração de serviço.
- No arquivo
User_insert.gql
gerado, codifique os dados do três campos. - Clique no botão Executar (produção).
- Repita as etapas anteriores para adicionar um registro à tabela
Email
, fornecendouid
do usuário no campofromUid
, conforme solicitadoEmail_insert
.
Defina sua consulta
Agora a parte divertida são as consultas. Como desenvolvedor, você está acostumado a escrever consultas SQL em vez de consultas GraphQL. Por isso, isso pode parecer um pouco diferente no início. No entanto, o GraphQL é muito mais conciso e seguro do que o SQL bruto. E nosso VS Code facilita a experiência de desenvolvimento.
Comece a editar o arquivo /dataconnect/connector/queries.gql
. Se você quiser
receber todos os e-mails, use uma consulta como esta.
# File `/dataconnect/connector/queries.gql`
query ListEmails @auth(level: NO_ACCESS) {
emails {
id, subject, text, sent
from {
name
}
}
}
Execute a consulta usando o botão CodeLens próximo.
Um recurso muito interessante aqui é a capacidade de tratar as propriedades
relações como um gráfico. Como um e-mail tem um campo from
que faz referência a uma
Usuário, é possível aninhar no campo e receber informações sobre ele de volta.
Implantar o esquema e a consulta na produção
Você trabalhou em uma iteração de desenvolvimento. Agora é possível implantar esquema, dados e consultas para o servidor com o Firebase interface de extensão ou a CLI Firebase, assim como você fez com seu esquema (#deploy-schema).
Se você usar a extensão do Firebase VS Code para implantar, clique no botão Implantar .
Após a implantação, você também poderá conferir e executar suas operações no console. O serviço Data Connect estará pronto para processar operações dos clientes. A instância do Cloud SQL para PostgreSQL será atualizada com o esquema e os dados gerados e implantados.
Instalar o PostgreSQL localmente (opcional)
Instalar o PostgreSQL localmente e integrá-lo ao emulador permite que você em um ambiente de desenvolvimento totalmente local.
Você pode instalar uma nova instância do PostgreSQL ou usar uma instância atual.
Instale o PostgreSQL
Instale o PostgreSQL versão 15.x seguindo as instruções para sua plataforma.
- macOS. Faça o download e instale o Postgres.app.
- Windows: use o instalador do EDB na página de downloads do PostgreSQL.
- Docker: extraia e execute a
imagem
pgvector/pgvector:pg15
, que vem com suporte para o PostgreSQL 15.x e vetores. - Linux:recomendamos usar o Docker com a imagem anterior, mas você também pode Siga as instruções alternativas para distribuições conhecidas.
Anote o nome do host, a porta, o nome de usuário e a senha e a saída de parâmetros relacionados durante a sequência de instalação.
Para se conectar à instância do PostgreSQL, o emulador precisa:
- Estes parâmetros de configuração
- O nome do banco de dados do
dataconnect.yaml
e um nome inicializado na instância local.
Usar a instância local do PostgreSQL
Para usar uma instância local do PostgreSQL, atualize o Configurações do emulador Data Connect.
firebase setup:emulators:dataconnect
Quando solicitado, insira a string de conexão do PostgreSQL neste formato:
postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable
:
Para saber mais sobre a string de conexão, consulte Documentação do PostgreSQL.
Conectar-se à instância local do PostgreSQL
Com essa configuração concluída, para se conectar ao seu banco de dados local:
- No VS Code, no painel esquerdo, clique no ícone do Firebase para abrir interface da extensão do Firebase VS Code.
- Clique no botão Conectar ao PostgreSQL local.