Criar um banco de dados do Firestore usando uma biblioteca de cliente do servidor
Este guia de início rápido mostra como configurar o Firestore, adicionar e ler dados usando a biblioteca de cliente do servidor C#, Go, Java, Node.js, PHP, Python ou Ruby.
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
Criar um banco de dados do Firestore no modo nativo
Caso esteja trabalhando em um novo projeto, você precisará criar uma instância de banco de dados do Firestore.
Na tela Selecionar um serviço de banco de dados, escolha Firestore no modo nativo.
Selecione um local para o Firestore.
Essa configuração de localização é o local padrão dos recursos do Google Cloud Platform (GCP) no seu projeto. Esse local será usado para serviços do GCP no projeto que exigem uma configuração de localização. No caso, especificamente, o bucket padrão do Cloud Storage e o aplicativo do App Engine, que é obrigatório se você usa o Cloud Scheduler.
Clique em Criar banco de dados.
Ao criar um projeto do Firestore, a API no Cloud API Manager é ativada.
Configurar a autenticação
Para executar a biblioteca de cliente, você precisa primeiro configurar a autenticação. Para isso, crie uma conta de serviço e defina uma variável de ambiente.
Forneça credenciais de autenticação ao código do aplicativo
definindo a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS
. Essa
variável se aplica somente à sessão de shell atual. Se você quiser que a variável
seja aplicada em sessões de shell futuras, defina a variável no arquivo de inicialização de shell,
por exemplo, no arquivo ~/.bashrc
ou ~/.profile
.
Linux ou macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Substitua KEY_PATH
pelo caminho do arquivo JSON que contém suas credenciais.
Exemplo:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
Para PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Substitua KEY_PATH
pelo caminho do arquivo JSON que contém suas credenciais.
Exemplo:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
Para prompt de comando:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Substitua KEY_PATH
pelo caminho do arquivo JSON que contém suas credenciais.
Adicionar a biblioteca de cliente do servidor ao aplicativo
Adicione as dependências e as bibliotecas de cliente necessárias ao app.
Java
Adicione a biblioteca Java do Firestore ao aplicativo:
-
Com o Maven:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>26.43.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-firestore</artifactId> </dependency>
- Se você estiver usando o Gradle ou fazendo a configuração sem BoM, consulte o Cliente do Firestore para Java (README).
- Como usar um ambiente de desenvolvimento integrado:
Se estiver usando o VS Codem IntelliJ ou o Eclipse, você poderá adicionar bibliotecas de cliente ao seu projeto usando estes plug-ins de IDE:
Os plug-ins também oferecem outras funcionalidades, como gerenciamento de chaves de contas de serviço. Para mais detalhes, consulte a documentação de cada plug-in.
Python
Adicione a biblioteca Python do Firestore ao aplicativo:
pip install --upgrade google-cloud-firestore
Node.js
Adicione a biblioteca Node.js do Firestore ao aplicativo:
npm install --save @google-cloud/firestore
Go
Instale a biblioteca do Firestore Go:
go get cloud.google.com/go/firestore
Adicione a biblioteca do Firestore Go ao aplicativo:
import "cloud.google.com/go/firestore"
PHP
- Instale e ative a extensão gRPC para PHP, necessária para usar a biblioteca de cliente.
-
Adicione a biblioteca PHP do Firestore ao app:
composer require google/cloud-firestore
C#
-
Adicione a biblioteca C# do Firestore ao arquivo
.csproj
:<ItemGroup> <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" /> </ItemGroup>
-
Adicione a instrução a seguir ao seu arquivo
Program.cs
:using Google.Cloud.Firestore;
Ruby
-
Adicione a biblioteca Ruby do Firestore ao aplicativo em
Gemfile
:gem "google-cloud-firestore"
-
Instale as dependências do seu
Gemfile
usando:bundle install
Inicializar o Firestore
Como inicializar uma instância do Firestore:
Java
import com.google.cloud.firestore.Firestore; import com.google.cloud.firestore.FirestoreOptions;
FirestoreOptions firestoreOptions = FirestoreOptions.getDefaultInstance().toBuilder() .setProjectId(projectId) .setCredentials(GoogleCredentials.getApplicationDefault()) .build(); Firestore db = firestoreOptions.getService();
Python
from google.cloud import firestore # The `project` parameter is optional and represents which project the client # will act on behalf of. If not supplied, the client falls back to the default # project inferred from the environment. db = firestore.Client(project="my-project-id")
Python
(assíncrono)
from google.cloud import firestore # The `project` parameter is optional and represents which project the client # will act on behalf of. If not supplied, the client falls back to the default # project inferred from the environment. db = firestore.AsyncClient(project="my-project-id")
Node.js
const Firestore = require('@google-cloud/firestore'); const db = new Firestore({ projectId: 'YOUR_PROJECT_ID', keyFilename: '/path/to/keyfile.json', });
Go
import ( "context" "flag" "fmt" "log" "google.golang.org/api/iterator" "cloud.google.com/go/firestore" ) func createClient(ctx context.Context) *firestore.Client { // Sets your Google Cloud Platform project ID. projectID := "YOUR_PROJECT_ID" client, err := firestore.NewClient(ctx, projectID) if err != nil { log.Fatalf("Failed to create client: %v", err) } // Close client when done with // defer client.Close() return client }
PHP
use Google\Cloud\Firestore\FirestoreClient; /** * Initialize Cloud Firestore with default project ID. */ function setup_client_create(string $projectId = null) { // Create the Cloud Firestore client if (empty($projectId)) { // The `projectId` parameter is optional and represents which project the // client will act on behalf of. If not supplied, the client falls back to // the default project inferred from the environment. $db = new FirestoreClient(); printf('Created Cloud Firestore client with default project ID.' . PHP_EOL); } else { $db = new FirestoreClient([ 'projectId' => $projectId, ]); printf('Created Cloud Firestore client with project ID: %s' . PHP_EOL, $projectId); } }
C#
Ruby
require "google/cloud/firestore" # The `project_id` parameter is optional and represents which project the # client will act on behalf of. If not supplied, the client falls back to the # default project inferred from the environment. firestore = Google::Cloud::Firestore.new project_id: project_id puts "Created Cloud Firestore client with given project ID."
Adicionar dados
O Firestore armazena dados nos documentos, que são armazenados nas coleções. O Firestore cria coleções e documentos de modo implícito na primeira vez que você adiciona dados ao documento. Não é necessário criar coleções ou documentos explicitamente.
Crie uma nova coleção e um documento usando o código de exemplo a seguir.
Java
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
(Async)
Node.js
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Agora, adicione outro documento à coleção users
. Observe que esse documento inclui um par de valores-chave (nome do meio) que não aparece no primeiro documento. Os documentos em uma coleção podem conter diferentes conjuntos de informações.
Java
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
(Async)
Node.js
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ler dados
Para verificar rapidamente se você adicionou dados ao Firestore, use o visualizador de dados no Console do Firebase.
Também é possível usar o método get
para recuperar a coleção inteira.
Java
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
(Async)
Node.js
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para autenticar no Firestore, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Próximas etapas
Aprofunde seu conhecimento com os seguintes tópicos:
- Modelo de dados: saiba mais sobre como os dados são estruturados no Firestore, incluindo dados hierárquicos e subcoleções.
- Adicionar dados: saiba mais sobre como criar e atualizar dados no Firestore.
- Recuperar dados: saiba mais sobre como recuperar dados.
- Executar consultas simples e compostas: saiba como executar consultas simples e compostas.
- Ordenar e limitar consultas: saiba como ordenar e limitar os dados retornados por suas consultas.