Usa el SDK de Admin con Data Connect

Firebase Admin SDK es un conjunto de bibliotecas de servidor que te permite interactuar con Firebase desde entornos privilegiados para realizar acciones como ejecutar consultas y mutaciones en un servicio de Firebase Data Connect para la administración masiva de datos y otras operaciones con privilegios elevados.

Admin SDK te proporciona una API para llamar a operaciones en los modos de lectura y escritura, y de solo lectura. Con las operaciones de solo lectura, tienes las la tranquilidad de implementar funciones administrativas que no pueden modificar datos. en tus bases de datos.

Configuración del SDK de Admin

Para comenzar a usar Firebase Data Connect en tu servidor, primero deberás instalar y configurar Admin SDK para Node.js.

Inicializa el SDK de Admin en tus secuencias de comandos

Para inicializar el SDK, importa las extensiones de Data Connect y declara el ID y la ubicación del servicio de tu proyecto.


import { initializeApp } from 'firebase-admin/app';
import { getDataConnect } from 'firebase-admin/data-connect';

// If you'd like to use OAuth2 flows and other credentials to log in,
// visit https://firebase.google.com/docs/admin/setup#initialize-sdk
// for alternative ways to initialize the SDK.

const app = initializeApp();

const dataConnect = getDataConnect({
    serviceId: 'serviceId',
    location: 'us-west2'
});

Diseña consultas y mutaciones para usar con Admin SDK

Admin SDK es útil para probar las operaciones de Data Connect, dado las siguientes consideraciones.

Comprende el SDK y la directiva de operación @auth(level: NO_ACCESS)

Dado que Admin SDK opera con privilegios, puede ejecutar cualquiera de tus consultas y mutaciones, independientemente de los niveles de acceso establecidos con las directivas @auth, incluido el nivel NO_ACCESS.

Si, junto con tus operaciones de cliente, organizas tus consultas administrativas y mutaciones en archivos fuente .gql para importarlas a secuencias de comandos administrativas, Firebase recomienda que marques las operaciones administrativas sin ningún nivel de acceso de autorización, o bien que seas más explícito y las configures como NO_ACCESS. De cualquier manera, esto evita que tales operaciones se ejecuten desde o en otros contextos sin privilegios.

Usa el SDK con el emulador de Data Connect

En entornos de prototipos y pruebas, puede ser útil propiciar la propagación de datos y otras operaciones con datos locales. Admin SDK te permite simplificar tu de trabajo, ya que ignora la autenticación y la autorización para los flujos locales.

Los SDKs de Firebase Admin se conectan automáticamente al emulador de Data Connect cuando se establece la variable de entorno DATA_CONNECT_EMULATOR_HOST:

export DATA_CONNECT_EMULATOR_HOST="127.0.0.1:8080"

Para obtener más información, consulta:

Implementa casos de uso comunes

Admin SDK se proporciona para operaciones con privilegios en tus datos críticos.

La API para Data Connect consta de una executeGraphql de lectura y escritura y una de solo lectura executeGraphqlRead.

Administra los datos del usuario

Un caso de uso típico para Admin SDK es administrar los datos del usuario.

interface UserData {
  user: {
    id: string;
    name: string;
  };
}

export interface UserVariables {
  id: string;
}

const options:GraphqlOptions<UserVariables> = { variables: { id: "QVBJcy5ndXJ1" } };

// user can be publicly accessible, or restricted to admins
const query = "query getProfile(id: AuthID) { user(id: $id) { id name } }";

//executeGraphql
const gqlResponse = await dataConnect.executeGraphql<UserData, UserVariables>(query, options);

//executeGraphqlRead (similar to above but only for read operations)
const gqlResponse = await dataConnect.executeGraphqlRead<UserData, UserVariables>(query, options);

// gqlResponse -> { "data": { "user": { "id": "QVBJcy5ndXJ1", "name": "Fred" } } }

Próximos pasos