Firebase Admin SDK è un insieme di librerie di server che ti consente di interagire con Firebase da ambienti privilegiati per eseguire azioni come query e mutazioni su un servizio Firebase Data Connect per la gestione collettiva dei dati e altre operazioni con privilegi elevati.
Admin SDK fornisce un'API per chiamare le operazioni sia in modalità di lettura/scrittura sia in modalità di sola lettura. Con le operazioni di sola lettura, puoi implementare funzioni amministrative che non possono modificare i dati nei tuoi database.
Configurazione dell'SDK Admin
Per iniziare a utilizzare Firebase Data Connect sul tuo server, devi prima installare e configurare Admin SDK per Node.js.
Inizializzare l'SDK Admin negli script
Per inizializzare l'SDK, importa le estensioni Data Connect e dichiara l'ID servizio e la posizione del progetto.
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'
});
Progetta query e mutazioni da utilizzare con Admin SDK
Admin SDK è utile per testare le operazioni Data Connect, tenendo conto delle seguenti considerazioni.
Informazioni sull'SDK e sulla direttiva di operazione @auth(level: NO_ACCESS)
Poiché Admin SDK opera con privilegi, può eseguire qualsiasi query e mutazione indipendentemente dai livelli di accesso impostati utilizzando le direttive @auth
, incluso il livello NO_ACCESS
.
Se, oltre alle operazioni client, organizzi le query amministrative
e le mutazioni nei file di origine .gql
per l'importazione negli script amministrativi, Firebase consiglia di contrassegnare le operazioni amministrative senza alcun
livello di accesso all'autorizzazione o di essere più esplicito e impostarle come
NO_ACCESS
. In entrambi i casi, si impedisce l'esecuzione di queste operazioni dai client o in altri contesti non privilegiati.
Utilizzare l'SDK con l'emulatore Data Connect
Negli ambienti di prototipo e di test, può essere utile eseguire il seeding dei dati e altre operazioni sui dati locali. Admin SDK consente di semplificare i flussi di lavoro, in quanto ignora l'autenticazione e l'autorizzazione per i flussi locali.
Gli SDK Firebase Admin si connettono automaticamente all'Data Connect
emulatore quando è impostata la variabile di ambiente DATA_CONNECT_EMULATOR_HOST
:
export DATA_CONNECT_EMULATOR_HOST="127.0.0.1:8080"
Per ulteriori informazioni, vedi:
- La guida per il seeding dei dati nello sviluppo locale
- La documentazione dell'emulatore Data Connect.
Implementare casi d'uso comuni
Admin SDK viene fornito per le operazioni con privilegi sui dati critici.
L'API per Data Connect è composta da un'interfaccia executeGraphql
di lettura/scrittura e da un'interfaccia executeGraphqlRead
di sola lettura.
Gestire i dati utente
Un caso d'uso tipico per Admin SDK è la gestione dei dati utente.
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" } } }
Quali sono i passaggi successivi?
- Esamina l'API per Admin SDK.
- Utilizza l'interfaccia a riga di comando Firebase e la console Google Cloud per altre operazioni di gestione del progetto, come la gestione di schemi e connettori e la gestione di servizi e database.