Crea una base de datos de Firestore mediante una biblioteca de cliente del servidor
En esta guía de inicio rápido se muestra cómo configurar Firestore, añadir datos y leerlos con la biblioteca de cliente de servidor de C#, Go, Java, Node.js, PHP, Python o Ruby.
Antes de empezar
- 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.
Crear una base de datos de Firestore en modo nativo
Si se trata de un proyecto nuevo, debes crear una instancia de base de datos de Firestore.
En la pantalla Selecciona un servicio de base de datos, elige Firestore en modo nativo.
Selecciona una ubicación para tu base de datos de Firestore.
Si no puedes seleccionar una ubicación, significa que ya se ha definido la ubicación de los recursos predeterminados Google Cloud de tu proyecto. Algunos de los recursos de tu proyecto (como la instancia predeterminada de Firestore) comparten una dependencia de ubicación común, y su ubicación se puede definir al crear el proyecto o al configurar otro servicio que comparta esta dependencia de ubicación.
Haz clic en Crear base de datos.
Cuando creas un proyecto de Firestore, también se habilita la API en Cloud API Manager.
Configurar la autenticación
Para ejecutar la biblioteca de cliente, primero debes configurar la autenticación creando una cuenta de servicio y definiendo una variable de entorno.
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 o 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.
Añadir la biblioteca de cliente del servidor a tu aplicación
Añade las dependencias y las bibliotecas de cliente necesarias a tu aplicación.
Java
Añade la biblioteca Java de Firestore a tu aplicación:
-
Usar 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>
- Si usas Gradle o quieres configurar el SDK sin BOM, consulta el archivo README del cliente de Firestore para Java.
-
Usar un IDE:
Si usas VS Code, IntelliJ o Eclipse, puedes añadir bibliotecas cliente a tu proyecto con estos complementos de IDE:
Los complementos proporcionan funciones adicionales, como la gestión de claves de cuentas de servicio. Consulta la documentación de cada complemento para obtener más información.
Python
Añade la biblioteca de Python de Firestore a tu aplicación:
pip install --upgrade google-cloud-firestore
Node.js
Añade la biblioteca de Node.js de Firestore a tu aplicación:
npm install --save @google-cloud/firestore
Go
Instala la biblioteca Go de Firestore:
go get cloud.google.com/go/firestore
Añade la biblioteca Go de Firestore a tu aplicación:
import "cloud.google.com/go/firestore"
PHP
- Instala y habilita la extensión gRPC para PHP, que necesitarás para usar la biblioteca de cliente.
-
Añade la biblioteca PHP de Firestore a tu aplicación:
composer require google/cloud-firestore
C#
-
Añade la biblioteca de C# de Firestore a tu aplicación en el archivo
.csproj
:<ItemGroup> <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" /> </ItemGroup>
-
Añade lo siguiente a tu archivo
Program.cs
:using Google.Cloud.Firestore;
Ruby
-
Añade la biblioteca Ruby de Firestore a tu aplicación en
Gemfile
:gem "google-cloud-firestore"
-
Instala las dependencias de tu
Gemfile
con el siguiente comando:bundle install
Inicializar Firestore en modo nativo
Inicializa una instancia de 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
(Async)
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."
Añadir datos
Firestore almacena los datos en documentos, que a su vez se almacenan en colecciones. Firestore crea colecciones y documentos de forma implícita la primera vez que añades datos al documento. No es necesario crear colecciones ni documentos de forma explícita.
Crea una colección y un documento con el siguiente código de ejemplo.
Java
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
(Async)
Node.js
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
PHP
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
C#
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ruby
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ahora añade otro documento a la colección users
. Observe que este documento incluye un par clave-valor (segundo nombre) que no aparece en el primer documento. Los documentos de una colección pueden contener diferentes conjuntos de información.
Java
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
(Async)
Node.js
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
PHP
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
C#
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ruby
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Leer datos
Para comprobar rápidamente que has añadido datos a Firestore, usa el visor de datos de la consola de Firebase.
También puedes usar el método get
para recuperar toda la colección.
Java
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
(Async)
Node.js
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
PHP
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
C#
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ruby
Para autenticarte en Firestore, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Pasos siguientes
Profundiza en tus conocimientos con los siguientes temas:
- Modelo de datos: consulta más información sobre cómo se estructuran los datos en Firestore, incluidos los datos jerárquicos y las subcolecciones.
- Añadir datos: consulta más información sobre cómo crear y actualizar datos en Firestore.
- Obtener datos: consulta más información sobre cómo recuperar datos.
- Hacer consultas simples y compuestas: consulta cómo hacer consultas simples y compuestas.
- Ordenar y limitar consultas: consulta cómo ordenar y limitar los datos devueltos por tus consultas.