Neste guia de início rápido, você vai aprender a criar Firebase Data Connect no seu app.
- Adicione Firebase Data Connect ao seu projeto do Firebase.
- Configurar um ambiente de desenvolvimento, incluindo o Visual Studio Extensão de código para trabalhar com uma instância de produção.
- Em seguida, vamos mostrar como:
- Crie um esquema para um app de crítica de filmes e implante para produção.
- Defina consultas e mutações para seu esquema.
- Gerar SDKs com tipagem forte e usá-los no seu app
- Implante seu esquema, consulta e dados finais na produção.
Pré-requisitos
Para usar este guia de início rápido no seu ambiente local, você vai precisar 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.
- Navegue até a seção Data Connect do console Firebase e siga o fluxo de trabalho de configuração do produto.
Faça upgrade do seu projeto para o plano Blaze. Isso permite criar um bucket do Cloud SQL para a instância do PostgreSQL.
Selecione um local para o banco de dados do CloudSQL para PostgreSQL.
Anote os nomes e IDs do projeto, serviço e 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:
- Se você é um desenvolvedor de Kotlin Android, iOS, Flutter ou Web, use o desenvolvimento do VS Code para projetar e testar esquemas e operações localmente enquanto se conecta à sua instância do Cloud SQL para PostgreSQL.
- Se você é um desenvolvedor da Web, pode usar o IDX Development para criar protótipos 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 cliente do guia de início rápido o código configurado para você. Confira mais informações no 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.
Instale a extensão Firebase Data Connect no Visual Studio Code Marketplace.
Configurar seu projeto local
Instale a CLI seguindo as instruções normais. Se você tiver npm já 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 Firebase VS Code.
- Clique no botão Fazer login com o Google.
- Clique no botão Conectar um projeto do Firebase e selecione o projeto em questão. que criamos anteriormente no console.
- Clique no botão Executar o firebase init.
- Se o projeto estiver no plano Blaze, responda "Sim" à pergunta "Você quer configurar seus recursos de back-end agora?".
Clique no botão Start emulators.
criar um esquema
No diretório do projeto do Firebase, no arquivo /dataconnect/schema/schema.gql
defina um esquema GraphQL que inclua filmes.
Filme
Em Data Connect, os campos do GraphQL são mapeados para colunas. O tipo Movie
tem id
, title
, imageUrl
e genre
. Data Connect
reconhece os tipos de dados primitivos String
e UUID
.
Copie o snippet a seguir ou remova a marca de comentário das linhas correspondentes no arquivo.
# File `/dataconnect/schema/schema.gql`
# By default, a UUID id key will be created by default as primary key.
type Movie @table {
id: UUID! @default(expr: "uuidV4()")
title: String!
imageUrl: String!
genre: String
}
Metadados do filme
Agora que você tem filmes, modele os metadados deles.
Copie o snippet a seguir ou remova a marca de comentário das linhas correspondentes no arquivo.
# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
# This time, we omit adding a primary key because
# you can rely on Data Connect to manage it.
# @unique indicates a 1-1 relationship
movie: Movie! @unique
# movieId: UUID <- this is created by the above reference
rating: Float
releaseYear: Int
description: String
}
O campo movie
é mapeado para um tipo de Movie
.
Data Connect entende que essa é uma relação entre Movie
e MovieMetadata
e gerenciará essa relação para você.
Saiba mais sobre os esquemas do Data Connect na documentação.
Implante o esquema na produção
Se você estiver usando a extensão do Firebase para o VS Code para trabalhar com seu banco de dados de produção, será necessário implantar o esquema antes de continuar. Depois de implantar o esquema no banco de dados de produção, você poderá conferir o esquema no console.
- Você pode usar a extensão do VS Code do Data Connect para implantar.
- Na interface da extensão, no painel Firebase Data Connect, clique em Implantar na produção.
- Talvez seja necessário revisar as alterações no esquema e aprovar imagens potencialmente destrutivas
modificações. Será solicitado que você:
- 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, é possível conferir os botões do CodeLens sobre o
Tipos GraphQL em /dataconnect/schema/schema.gql
. Como você implantou o esquema na produção, use os botões Add data e Run (Production) para adicionar dados ao seu banco de dados no back-end.
Para adicionar registros à tabela Movie
:
- No
schema.gql
, clique no botão Adicionar dados acima do tipoMovie
. declaração de serviço.
- No arquivo
Movie_insert.gql
gerado, codifique os dados dos quatro campos. - Clique no botão Executar (produção).
Para verificar rapidamente os dados foram adicionados:
- Em
schema.gql
, clique no botão Ler dados. - No arquivo
Movie_read.gql
resultante, clique em Executar (produção) para executar a consulta.
Saiba mais sobre as mutações do Data Connect na documentação
Defina sua consulta
Agora a parte divertida: 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 quiser obter todos os filmes, use uma consulta como esta.
# File `/dataconnect/connector/queries.gql`
# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
movies {
id
title
imageUrl
genre
}
}
Execute a consulta usando o botão do CodeLens.
Saiba mais sobre as consultas do Data Connect na documentação.
Gerar SDKs e usá-los no seu app
- Clique no botão Add SDK to app.
Na caixa de diálogo exibida, selecione um diretório que contenha o código para seu app. Data Connect: O código do SDK será gerado e salvas lá.
Selecione sua plataforma de aplicativos e observe que o código do SDK é imediatamente gerado no diretório selecionado.
Saiba como usar o SDK gerado para chamar consultas e mutações do cliente (Web, Android, iOS, Flutter).
Implante o esquema e a consulta na produção
Você trabalhou em uma iteração de desenvolvimento. Agora você pode implantar seus esquemas, dados e consultas no servidor com a interface da extensão do Firebase ou a CLI Firebase, assim como fez com o esquema.
Se você usar a extensão do Firebase VS Code para implantar, clique no Botão Implantar na produção.
Após a implantação, acesse o console do Firebase. para verificar se o esquema, as operações e os dados foram enviados para a nuvem. Você poderá visualizar o esquema e executar suas operações no console muito bem. A instância do Cloud SQL para PostgreSQL será atualizada com o esquema e os dados gerados de implantação final.
Saiba mais sobre como usar o emulador do Data Connect na documentação
Próximas etapas
Revise o projeto implantado e descubra mais ferramentas:
Adicione dados ao banco de dados, inspecione e modifique seus esquemas e monitore o serviço do Data Connect no console do Firebase. Acesse mais informações na documentação. Por exemplo, depois que você concluiu o guia de início rápido:
Saiba mais sobre o desenvolvimento de esquema, consulta e mutação
Saiba como gerar SDKs de cliente e chamar consultas e mutações do código do cliente para Web, Android, iOS e Flutter.