Começar a usar o Firebase Data Connect

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:

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. Faça upgrade do seu projeto para o plano Blaze. Isso permite criar um bucket do Cloud SQL para a instância do PostgreSQL.

  3. Navegue até a seção Data Connect do console do Firebase e siga o fluxo de trabalho de configuração do produto.

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

  5. Anote os nomes e os IDs do projeto, do serviço e do 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 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:

  1. Crie um novo diretório para seu projeto local.
  2. Abra o VS Code no novo diretório.
  3. Faça o download da extensão, agrupada como um pacote VSIX, do Firebase Storage.

  4. No menu Exibir do VS Code, selecione Extensões.

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

  1. Verifique se você fez login.
  2. Clique no botão Run firebase init.
  3. Verifique a guia Terminal no painel inferior do VS Code para conferir os comandos.
  4. Selecione Data Connect como um recurso para usar neste diretório.
  5. 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").

E-mail

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.

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

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:

  1. No schema.gql, clique no botão Adicionar dados acima do tipo User. declaração de serviço.
    Botão "Adicionar dados" da Lente de código para o Firebase Data Connect
  2. No arquivo User_insert.gql gerado, codifique os dados do três campos.
  3. Clique no botão Executar (produção).
    Botão "Executar" do Code Lens para o Firebase Data Connect
  4. Repita as etapas anteriores para adicionar um registro à tabela Email, fornecendo uid do usuário no campo fromUid, conforme solicitado Email_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.

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:

  1. No VS Code, no painel esquerdo, clique no ícone do Firebase para abrir interface da extensão do Firebase VS Code.
  2. Clique no botão Conectar ao PostgreSQL local.

Próximas etapas