Crie uma base de dados do Firestore através de uma biblioteca de cliente do servidor
Este início rápido mostra como configurar o Firestore, adicionar dados e ler dados através da biblioteca cliente do servidor C#, Go, Java, Node.js, PHP, Python ou Ruby.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
Crie um Firestore no modo nativo
Se for um novo projeto, tem de criar uma instância da base de dados do Firestore.
No ecrã Selecione um serviço de base de dados, escolha Firestore no modo nativo.
Selecione uma localização para o Firestore.
Se não conseguir selecionar uma localização, significa que a "localização dos recursos predefinidos" Google Cloud do seu projeto já foi definida. Alguns dos recursos do seu projeto (como a instância do Firestore predefinida) partilham uma dependência de localização comum e a respetiva localização pode ser definida durante a criação do projeto ou quando configura outro serviço que partilha esta dependência de localização.
Clique em Criar base de dados.
Quando cria um projeto do Firestore, também ativa a API no Cloud API Manager.
Configure a autenticação
Para executar a biblioteca de cliente, primeiro tem de configurar a autenticação criando uma conta de serviço e definindo uma variável de ambiente.
Provide authentication credentials to your application code by setting the
environment variable GOOGLE_APPLICATION_CREDENTIALS
. This
variable applies only to your current shell session. If you want the variable
to apply to future shell sessions, set the variable in your shell startup file,
for example in the ~/.bashrc
or ~/.profile
file.
Linux ou macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
For PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
For command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
Adicione a biblioteca de cliente do servidor à sua app
Adicione as dependências e as bibliotecas de cliente necessárias à sua app.
Java
Adicione a biblioteca Java do Firestore à sua app:
-
Usar o Maven:
<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>26.65.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 estiver a usar o Gradle ou a configurar sem a BOM, consulte o README do cliente do Firestore para Java.
-
Usar um IDE:
Se estiver a usar o VS Code, o IntelliJ ou o Eclipse, pode adicionar bibliotecas de cliente ao seu projeto através destes plug-ins de IDE:
Os plug-ins oferecem funcionalidades adicionais, como a gestão de chaves para contas de serviço. Consulte a documentação de cada plug-in para ver detalhes.
Python
Adicione a biblioteca Python do Firestore à sua app:
pip install --upgrade google-cloud-firestore
Node.js
Adicione a biblioteca do Node.js do Firestore à sua app:
npm install --save @google-cloud/firestore
Go
Instale a biblioteca Go do Firestore:
go get cloud.google.com/go/firestore
Adicione a biblioteca Go do Firestore à sua app:
import "cloud.google.com/go/firestore"
PHP
- Instale e ative a extensão gRPC para PHP, que tem de usar para a biblioteca de cliente.
-
Adicione a biblioteca PHP do Firestore à sua app:
composer require google/cloud-firestore
C#
-
Adicione a biblioteca C# do Firestore à sua app no ficheiro
.csproj
:<ItemGroup> <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" /> </ItemGroup>
-
Adicione o seguinte ao ficheiro
Program.cs
:using Google.Cloud.Firestore;
Ruby
-
Adicione a biblioteca Ruby do Firestore à sua app no
Gemfile
:gem "google-cloud-firestore"
-
Instale dependências a partir do seu
Gemfile
através do seguinte comando:bundle install
Inicialize o Firestore no modo nativo
Inicialize 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 em documentos, que são armazenados em coleções. O Firestore cria coleções e documentos implicitamente na primeira vez que adiciona dados ao documento. Não precisa de criar explicitamente coleções nem documentos.
Crie uma nova coleção e um documento com o seguinte código de exemplo.
Java
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
(Async)
Node.js
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Agora, adicione outro documento à coleção users
. Repare que este documento inclui um par de chave-valor (nome do meio) que não aparece no primeiro documento. Os documentos numa coleção podem conter diferentes conjuntos de informações.
Java
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
(Async)
Node.js
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ler dados
Para verificar rapidamente se adicionou dados ao Firestore, use o visualizador de dados na consola do Firebase.
Também pode usar o método get
para obter a coleção completa.
Java
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
(Async)
Node.js
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Para se autenticar no Firestore, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Passos seguintes
Aprofunde os seus conhecimentos com os seguintes tópicos:
- Modelo de dados: saiba mais sobre a forma como os dados são estruturados no Firestore, incluindo dados hierárquicos e subcoleções.
- Adicione dados: saiba mais sobre como criar e atualizar dados no Firestore.
- Obtenha dados: saiba como obter dados.
- Executar consultas simples e compostas: saiba como executar consultas simples e compostas.
- Ordenar e limitar consultas: saiba como ordenar e limitar os dados devolvidos pelas suas consultas.