Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Transmite colecciones a BigQuery

Firebase
Made by Firebase

Envía actualizaciones incrementales y en tiempo real de una colección específica de Cloud Firestore a BigQuery.

Cómo funciona esta extensión

Usa esta extensión para exportar los documentos de una colección de Cloud Firestore a BigQuery. Las exportaciones se realizan incrementalmente y en tiempo real, por lo que los datos que hay en BigQuery son un duplicado del contenido de Cloud Firestore.

Esta extensión crea y actualiza un conjunto de datos que contiene los siguientes dos recursos de BigQuery:

  • Una tabla de datos sin procesar en la que se almacena todo el historial de cambios de los documentos de la colección. Esta tabla incluye varios campos de metadatos, de modo que BigQuery puede mostrar el estado actual de tus datos. Los principales campos de metadatos para ver los cambios en el documento son timestamp (la marca de tiempo), document_name (el nombre del documento) y operation (la operación de cambio del documento).
  • Una vista que representa el estado actual de los datos de la colección. También muestra un registro de la operación más reciente que se realizó con cada documento ( CREATE , UPDATE o IMPORT ).

Si creas, actualizas, borras o importas un documento en la colección especificada, la extensión envía esa actualización a BigQuery. Después podrás ejecutar búsquedas en el conjunto de datos duplicado.

Ten en cuenta que esta extensión solo detecta los cambios que se realizan en los documentos de la colección, pero no los que se hacen en las subcolecciones . Sin embargo, puedes instalar instancias adicionales de la extensión específicamente para que detecten cambios en una subcolección determinada o en otras colecciones de la base de datos. O bien, si tienes la misma subcolección en los documentos de una colección determinada, puedes usar la notación "{wildcard}" para escuchar todas esas subcolecciones (por ejemplo: "chats/{chatid}/posts").

Si habilitas las referencias con comodines, se proporcionará una columna adicional basada en STRING. El valor del campo JSON resultante hace referencia a cualquier comodín que se incluya en ${param:COLLECTION_PATH}. Puedes extraerlos con JSON_EXTRACT_SCALAR.

No se puede actualizar la configuración de "Partition" en una tabla existente. Si se requieren estas opciones, se debe crear una nueva.

"Clustering" no requiere que se cree o modifique una tabla cuando se agregan opciones de agrupamiento en clústeres, ya que se actualizará automáticamente.

Configuración adicional

Antes de instalar esta extensión, deberás seguir estos pasos:

Función de transformación

Antes de enviar el cambio del documento a BigQuery, tendrás una oportunidad para transformar los datos con una función de HTTP. La carga útil tendrá los siguientes elementos:

{ 
  data: [{
    insertId: int;
    json: {
      timestamp: int;
      event_id: int;
      document_name: string;
      document_id: int;
      operation: ChangeType;
      data: string;
    },
 }]
}

La respuesta debería tener una estructura idéntica.

Reabastece tu conjunto de datos de BigQuery

Esta extensión solo envía el contenido de los documentos que se modificaron, pero no exporta todo el conjunto de datos existente a BigQuery. Por lo tanto, para reabastecer el conjunto de datos de BigQuery con todos los documentos de la colección, debes ejecutar la secuencia de comandos de importación que proporciona la extensión.

Importante: Ejecuta la secuencia de comandos de importación en toda la colección después de instalar la extensión. De lo contrario, podrían perderse todas las operaciones de escritura realizadas en la base de datos durante la importación.

Genera vistas de esquema

Una vez que los datos estén en BigQuery, puedes ejecutar la secuencia de comandos de vistas de esquema (que se proporciona con la extensión) a fin de crear vistas que faciliten la búsqueda de datos relevantes. Solo debes proporcionar un archivo de esquema JSON que describa la estructura de los datos y la secuencia de comandos de vistas de esquema creará las vistas.

Facturación

Para instalar una extensión, tu proyecto debe tener el plan Blaze (pago por uso).

  • Se te cobrará un importe pequeño (normalmente alrededor de USD 0.01 al mes) por los recursos de Firebase que se necesitan para esta extensión (incluso si no se usan).
  • Esta extensión usa otros servicios de Firebase y Google Cloud Platform, que tienen cargos asociados si superas el nivel sin costo:
  • BigQuery (esta extensión realiza operaciones de escritura en BigQuery con inserciones de transmisión )
  • Cloud Firestore
  • Cloud Functions (entorno de ejecución de Node.js 10+; consulta las Preguntas frecuentes )

Cómo instalar esta extensión

Usa Firebase console

Puedes usar Firebase console para instalar y administrar las extensiones.

Instala con console

Usa Firebase CLI

También puedes usar Firebase CLI para instalar y administrar las extensiones.

Paso 1: Ejecuta el siguiente comando npm para instalar la CLI o actualizarla a la versión más reciente.

npm install -g firebase-tools
¿No funciona? Consulta la referencia de Firebase CLI o cambia tus permisos de npm.

Paso 2: Configura un nuevo directorio de proyecto de Firebase o navega a uno existente

Paso 3: Agrega esta extensión al manifiesto de tu extensión ejecutando

firebase ext:install firebase/firestore-bigquery-export --local --project=projectId_or_alias

Step 4 (Optional): Test this extension locally with the Firebase Emulator Suite

firebase emulators:start

Paso 5: Implementa las extensiones en el manifiesto de tu proyecto

firebase deploy --only extensions --project=projectId_or_alias
Admite
Cloud Firestore
Autor
Licencia
Apache-2.0
Versión
0.1.25