Tus proyectos Data Connect constan de dos elementos de infraestructura principales:
- Una o más instancias del servicio Data Connect
- Una o más instancias de Cloud SQL para PostgreSQL
En esta guía, se explica cómo configurar y administrar tus instancias del servicio de Data Connect y se presenta cómo administrar tus instancias de Cloud SQL asociadas.
Configura regiones para Firebase Data Connect
Los proyectos que usan Data Connect requieren un parámetro de configuración de ubicación.
Cuando creas una instancia nueva del servicio Data Connect, se te solicita que selecciones la ubicación del servicio.
Ubicaciones disponibles
Data Connect servicios se pueden crear en las siguientes regiones.
- asia-east1
- asia-east2
- asia-northeast1
- asia-northeast2
- asia-northeast3
- asia-south1
- asia-southeast1 (no disponible para pruebas del plan Spark)
- asia-southeast2 (no disponible para pruebas del plan Spark)
- australia-southeast1
- australia-southeast2
- europe-central2
- europe-north1
- europe-southwest1
- europe-west1
- europe-west2
- europe-west3
- europe-west4
- europe-west6
- europe-west8
- europe-west9
- me-west1
- northamerica-northeast1
- northamerica-northeast2
- southamerica-east1
- southamerica-west1
- us-central1
- us-east1
- us-east4
- us-south1
- us-west1
- us-west2
- us-west3
- us-west4
Administra instancias del servicio Data Connect
Crea servicios.
Para crear un servicio nuevo, usa la consola Firebase o ejecuta la inicialización del proyecto local con la CLI Firebase. Estos flujos de trabajo crean un nuevo Data Connect servicio.
Estos flujos también te guían a través de lo siguiente:
- Aprovisionamiento de una nueva instancia de Cloud SQL (nivel sin costo)
- Vinculación de una instancia de Cloud SQL existente a Data Connect (plan Blaze)
Administrar usuarios
Data Connect proporciona herramientas para administrar el acceso de los usuarios que siguen el el principio de privilegio mínimo (otorgar a cada usuario o cuenta de servicio los permisos mínimos necesarios para admitir la funcionalidad necesaria) y la noción de control de acceso basado en roles (RBAC) (con roles predefinidos para administrar permisos de bases de datos, lo que simplifica la administración de seguridad).
Para agregar miembros del proyecto como usuarios que pueden modificar Data Connect instancias en tu proyecto, usa la consola Firebase para seleccionar los roles de usuario predefinidos adecuados.
Estos roles otorgan permisos con Identity and Access Management (IAM). Un rol es una colección de permisos. Cuando asignas un rol a un miembro del proyecto, le otorgas todos los permisos que contiene ese rol. Consulta más información en:
- La descripción general de los roles de Firebase IAM
- La lista detallada de Data Connect roles
Elige roles para habilitar flujos de trabajo específicos
Los roles de IAM habilitan los flujos de trabajo de Firebase CLI para permitirte administrar tus Data Connect proyectos.
| Comando de la CLI, otro flujo de trabajo | Roles requeridos |
|---|---|
firebase init dataconnect
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
Supervisa el rendimiento del servicio Data Connect
Información sobre el rendimiento de los servicios
El rendimiento del servicio de Data Connect y del servicio de Cloud SQL para PostgreSQL puede afectar tu experiencia.
- Para el servicio de Cloud SQL para PostgreSQL, consulta la guía general en la documentación de Cuotas y límites.
Para el servicio de Data Connect, hay una cuota para las solicitudes de GraphQL, que afecta la velocidad a la que puedes llamar y ejecutar consultas:
- Una cuota por proyecto y por región de 24,000 solicitudes de GraphQL por minuto
Si alcanzas esos límites de cuota, comunícate con el equipo de asistencia de Firebase para ajustar la cuota pertinente.
Supervisa el rendimiento, el uso y la facturación de los servicios
Puedes supervisar las solicitudes, los errores y las tasas de operación, tanto a nivel global como por operación en la Firebase consola.
Administra instancias de Cloud SQL
Limitaciones de la prueba gratuita
Las siguientes funciones de Cloud SQL para PostgreSQL no son compatibles con las pruebas gratuitas de Spark o Blaze:
- Nivel de máquina diferente a db-f1-micro
- Cambio de recursos de tu instancia, como región, almacenamiento, memoria y CPU
- Versiones de PostgreSQL que no sean 15.x
- Réplicas de lectura
- Dirección IP de instancia privada
- Alta disponibilidad (multizona); solo se admiten instancias de una sola zona
- Edición Enterprise Plus
- Copias de seguridad automáticas
- Aumento de almacenamiento automático
Limitaciones de las bases de datos de incorporación temporales
Cuando agregas Data Connect a tu proyecto de Firebase, puedes comenzar a crear prototipos de tu modelo de datos y cargar datos de inmediato, ya que los datos se almacenarán en una base de datos temporal. Ten en cuenta que tu instancia permanente de Cloud SQL para PostgreSQL tardará entre 5 y 20 minutos en aprovisionarse. Cualquier dato inicial que cargues se migrará automáticamente a tu base de datos de PostgreSQL permanente una vez que se aprovisione.
Esta base de datos temporal es ideal para explorar tu esquema y las operaciones CRUD.
Si no quieres usar la base de datos temporal, espera a que se aprovisione tu instancia de Cloud SQL.
La base de datos temporal no es una base de datos de PostgreSQL y no proporciona todas las funciones de PostgreSQL.
Las limitaciones importantes son las siguientes:
- El tamaño de la base de datos debe ser inferior a 1 MB.
- La cantidad de filas por tabla debe ser inferior a 1,000.
- Menos de 1 consulta por segundo
- No se admite la búsqueda en el texto completo.
- No se admite la generación de embeddings de vectores.
- No se admiten funciones de SQL como
@view,@col(dataType), o SQL nativo.
Administra instancias de Cloud SQL
En general, puedes administrar tus instancias de Cloud SQL con la Google Cloud consola para realizar los siguientes flujos de trabajo.
- Inicia y reinicia instancias de Cloud SQL.
- Crea y borra bases de datos de Cloud SQL (dentro de instancias).
- Inicia instancias de bases de datos de PostgreSQL con marcas y usa una variedad de extensiones.
- Supervisa el rendimiento con las funciones de observabilidad de Cloud SQL en la Google Cloud consola.
- Administra el acceso y la seguridad de Cloud SQL con funciones como IAM, Secret Manager, encriptación de datos y proxy de autenticación.
- Agrega, borra y administra usuarios de Cloud SQL.
Para estos y otros flujos de trabajo, consulta la documentación de Cloud SQL para PostgreSQL.
Otorga roles de usuario de PostgreSQL
Data Connect proporciona herramientas para administrar el acceso de los usuarios que siguen el el principio de privilegio mínimo (otorgar a cada usuario o cuenta de servicio los permisos mínimos necesarios para admitir la funcionalidad necesaria) y la noción de control de acceso basado en roles (RBAC) (con roles predefinidos para administrar permisos de bases de datos, lo que simplifica la administración de seguridad).
En algunos casos, es posible que desees conectarte directamente a la base de datos de Cloud SQL administrada por Data Connect a través de un cliente de SQL de tu elección con, por ejemplo, Cloud Run, Cloud Functions o GKE.
Para habilitar esas conexiones, debes otorgar permisos de SQL de la siguiente manera:
- Asigna el rol de IAM
roles/cloudsql.cliental usuario o la cuenta de servicio que necesita conectarse a la instancia, ya sea desde la consola Google Cloud o con gcloud CLI - Otorga el rol de PostgreSQL necesario con Firebase CLI.
Asigna el rol de IAM de Cloud SQL
Para obtener información sobre cómo trabajar con Cloud SQL para PostgreSQL para asignar el rol de IAM
roles/cloudsql.client consulta Roles y permisos.
Otorga roles de PostgreSQL
Con Firebase CLI, puedes otorgar roles predefinidos de PostgreSQL a usuarios o cuentas de servicio asociados con tu proyecto con el firebase dataconnect:sql:grant comando.
Por ejemplo, para otorgar el rol de escritor, ejecuta este comando en la CLI:
firebase dataconnect:sql:grant --role writerPara obtener más detalles, consulta la guía de referencia de la CLI.
Integra bases de datos de Cloud SQL para PostgreSQL existentes
El flujo predeterminado de aprovisionamiento y administración de bases de datos supone que tu proyecto
usa bases de datos nuevas (greenfield) y, cuando invocas firebase deploy,
Data Connect mostrará los cambios de esquema de la base de datos que se realizarán y
realizará las migraciones después de que los apruebes.
Para las bases de datos existentes (brownfield), es posible que tengas tu propio flujo de trabajo para administrar esquemas y no puedas usar las herramientas de Data Connect para las migraciones, pero te gustaría usar tu base de datos en un proyecto de Data Connect para aprovechar su generación de SDK para dispositivos móviles y la Web, la autorización basada en consultas, la administración de conexiones de clientes y mucho más.
En esta sección, se ofrece orientación sobre el último caso: la integración de bases de datos existentes con Data Connect.
.Integra una base de datos existente en un proyecto Data Connect
Por lo general, el flujo de trabajo para integrar una base de datos existente incluye estos pasos:
- Durante la configuración del proyecto Data Connect en la consola Firebase, selecciona la instancia y la base de datos.
Con Firebase CLI, ejecuta el comando
firebase dataconnect:sql:setupy rechaza la opción para permitir que Data Connect controle las migraciones de SQL.Para evitar cambios en el esquema de tu base de datos que no estén controlados por tus herramientas personalizadas, el comando
setupasignará los roles de lector y escritor adecuados, pero no el rolowner. Puedes encontrar más información sobre el comandosetupy los roles de PostgreSQL en la guía de referencia de la CLI.Escribe un esquema de GraphQL Data Connect que coincida con el esquema de tu base de datos.
Solo puedes implementar tu esquema, consultas y mutaciones de GraphQL cuando tu esquema de GraphQL es compatible con tu esquema de PostgreSQL.
Para simplificar la alineación de ambos esquemas, proporcionamos el comando
firebase dataconnect:sql:diff, que te proporcionará las instrucciones SQL necesarias para migrar tu base de datos. Puedes usarlo para refinar de forma iterativa tu esquema de GraphQL para que coincida con el esquema de tu base de datos existente.En el futuro, puedes iterar rápidamente en tu esquema, consultas y mutaciones de GraphQL en tu entorno de desarrollo local. Luego, cuando estés satisfecho, puedes usar
firebase dataconnect:sql:diffpara obtener las instrucciones de migración de SQL que puedes aplicar a PostgreSQL con tus herramientas y flujos personalizados.Como alternativa, puedes realizar cambios directamente en tu base de datos de PostgreSQL primero y, luego, intentar transferirlos a tu esquema de GraphQL. Te recomendamos el enfoque de GraphQL primero, ya que puede haber casos en los que no se admitan los cambios de esquema. Además, si implementas cambios que hacen que tu esquema de PostgreSQL sea incompatible con las consultas o mutaciones del conector implementado, es posible que esos conectores dejen de funcionar o se comporten de forma incorrecta.