Die Firebase Admin SDK besteht aus einer Reihe von Serverbibliotheken, über die Sie mit Firebase aus privilegierten Umgebungen, um Aktionen wie das Ausführen von Abfragen auszuführen und Mutationen in einem Firebase Data Connect-Dienst zur Bulk-Datenverwaltung ausführen und andere Vorgänge mit erweiterten Berechtigungen.
Mit der Admin SDK erhalten Sie eine API zum Aufrufen von Vorgängen in beiden Lese-/Schreibmodus und Lesemodus. Mit den schreibgeschützten Vorgängen haben Sie die Verwaltungsfunktionen zu implementieren, die Daten nicht verändern können in Ihren Datenbanken.
Admin SDK einrichten
Wenn Sie Firebase Data Connect auf Ihrem Server verwenden möchten, müssen Sie zuerst die Admin SDK für Node.js installieren und einrichten.
Admin SDK in Ihren Skripts initialisieren
Um das SDK zu initialisieren, importieren Sie die Data Connect-Erweiterungen und deklarieren Sie die ID und den Speicherort Ihres Projektdiensts.
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'
});
Abfragen und Mutationen für die Admin SDK entwerfen
Die Admin SDK ist nützlich zum Testen von Data Connect-Vorgängen, da die folgenden Überlegungen an.
Informationen zur SDK- und @auth(level: NO_ACCESS)
-Vorgangsrichtlinie
Da Admin SDK mit Berechtigungen arbeitet, kann es alle Ihre
Abfragen und Mutationen unabhängig von den Zugriffsebenen, die mit @auth
-Anweisungen festgelegt wurden, einschließlich der Ebene NO_ACCESS
.
Wenn Sie neben Ihren Client-Vorgängen auch administrative Abfragen und Mutationen in .gql
-Quelldateien für den Import in Verwaltungsscripts organisieren, sollten Sie die administrativen Vorgänge gemäß den Firebase-Empfehlungen ohne Autorisierungszugriffsebene kennzeichnen oder sie als NO_ACCESS
festlegen. In beiden Fällen wird dadurch verhindert, dass solche Vorgänge aus dem
oder in anderen nicht
privilegierten Kontexten.
SDK mit dem Data Connect-Emulator verwenden
In Prototypen- und Testumgebungen kann es hilfreich sein, anderen Operationen mit lokalen Daten durchführen. Mit Admin SDK können Sie Ihre Workflows vereinfachen, da Authentifizierung und Autorisierung für lokale Abläufe ignoriert werden.
Die Firebase Admin SDKs stellen automatisch eine Verbindung zum Data Connect her
Emulator, wenn die Umgebungsvariable DATA_CONNECT_EMULATOR_HOST
festgelegt ist:
export DATA_CONNECT_EMULATOR_HOST="127.0.0.1:8080"
Weitere Informationen finden Sie unter:
Gängige Anwendungsfälle implementieren
Der Admin SDK wird für privilegierte Vorgänge auf Ihre kritischen Daten bereitgestellt.
Die API für Data Connect besteht aus einem nicht schreibgeschützten executeGraphql
und eine schreibgeschützte executeGraphqlRead
-Schnittstelle.
Nutzerdaten verwalten
Ein typischer Anwendungsfall für Admin SDK ist die Verwaltung von Nutzerdaten.
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" } } }
Nächste Schritte
- API für die Admin SDK ansehen
- Verwenden Sie die Firebase CLI und die Google Cloud Console für andere Projektverwaltungsvorgänge, z. B. zum Verwalten von Schemas und Verbindungen und zum Verwalten von Diensten und Datenbanken.