Começar a usar o Firebase Data Connect

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.

Conectar-se ao seu projeto do Firebase

  1. Crie um projeto do Firebase, caso ainda não tenha feito isso.
    1. No console do Firebase, clique em Adicionar projeto e siga as instruções na tela.
  2. Navegue até a seção Data Connect do console Firebase e siga o fluxo de trabalho de configuração do produto.
  3. Faça upgrade do seu projeto para o plano Blaze. Isso permite criar um bucket do Cloud SQL para a instância do PostgreSQL.

  4. Selecione um local para o banco de dados do CloudSQL para PostgreSQL.

  5. Anote os nomes e IDs do projeto, serviço e banco de dados para confirmar mais tarde.

  6. 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:

  1. Crie um novo diretório para seu projeto local.
  2. Abra o VS Code no novo diretório.
  3. 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.

  1. Clique no botão Fazer login com o Google.
  2. Clique no botão Conectar um projeto do Firebase e selecione o projeto em questão. que criamos anteriormente no console.
  3. Clique no botão Executar o firebase init.
  4. Se o projeto estiver no plano Blaze, responda "Sim" à pergunta "Você quer configurar seus recursos de back-end agora?".
  5. 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.

  1. 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.
  2. 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:

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:

  1. No schema.gql, clique no botão Adicionar dados acima do tipo Movie. declaração de serviço.
    Botão &quot;Adicionar dados&quot; do Code Lens para o Firebase Data Connect
  2. No arquivo Movie_insert.gql gerado, codifique os dados dos quatro campos.
  3. Clique no botão Executar (produção).
    Botão &quot;Run&quot; do Code Lens para o Firebase Data Connect

Para verificar rapidamente os dados foram adicionados:

  1. Em schema.gql, clique no botão Ler dados.
  2. 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

  1. Clique no botão Add SDK to app.
  2. 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á.

  3. 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: