Firebase Admin SDK היא קבוצה של ספריות שרתים שמאפשרות אינטראקציה Firebase מגיע מסביבות בעלות הרשאות כדי לבצע פעולות כמו ביצוע שאילתות ומוטציות בשירות Firebase Data Connect לניהול נתונים בכמות גדולה ופעולות אחרות עם הרשאות מורחבות.
Admin SDK מספק API לקריאה לפעולות בשני המקומות מצבי קריאה/כתיבה וקריאה בלבד. בפעולות לקריאה בלבד, מקבלים שקט נפשי ביישום פונקציות ניהוליות שלא יכולות לשנות נתונים במסדי הנתונים.
הגדרת Admin SDK
כדי להתחיל להשתמש ב-Firebase Data Connect בשרת שלך, צריך: קודם צריך להתקין ולהגדיר את Admin SDK Node.js.
איך מפעילים את Admin SDK בסקריפטים
כדי לאתחל את ה-SDK, מייבאים את התוספים Data Connect ומצהירים על המיקום ומזהה השירות של הפרויקט.
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'
});
עיצוב שאילתות ומוטציות לשימוש עם Admin SDK
ה-Admin SDK שימושי לבדיקת פעולות Data Connect, בהתאם לשיקולים הבאים.
הסבר על ה-SDK והוראת הפעולה @auth(level: NO_ACCESS)
מכיוון ש-Admin SDK פועל עם הרשאות, הוא יכול להריץ את כל השאילתות והמוטציות שלכם, ללא קשר לרמות הגישה שהוגדרו באמצעות הוראות @auth
, כולל הרמה NO_ACCESS
.
אם אתם מארגנים את השאילתות והמוטציות הניהוליות בקובצי המקור .gql
לצד פעולות הלקוח, כדי לייבא אותן לסקריפטים ניהוליים, מומלץ ב-Firebase לסמן את הפעולות הניהוליות ללא רמת גישה להרשאה, או להגדיר אותן כ-NO_ACCESS
באופן מפורש יותר. כך אפשר למנוע ביצוע פעולות כאלה מלקוחות או בהקשרים אחרים ללא הרשאות.
שימוש ב-SDK עם אמולטור Data Connect
בסביבות של אב-טיפוס ובדיקה, אפשר לבצע זרוע נתונים פעולות אחרות על נתונים מקומיים. בעזרת Admin SDK תוכלו לפשט את תהליכי העבודה, כי הוא מתעלם מאימות ומהרשאה בתהליכים מקומיים.
ערכות ה-SDK לאדמינים ב-Firebase מתחברות באופן אוטומטי אל Data Connect
אמולטור כשמוגדר משתנה הסביבה DATA_CONNECT_EMULATOR_HOST
:
export DATA_CONNECT_EMULATOR_HOST="127.0.0.1:8080"
מידע נוסף זמין בדפים הבאים:
הטמעת תרחישים נפוצים לדוגמה
הקוד Admin SDK ניתן לפעולות בעלות הרשאות על הנתונים הקריטיים שלך.
ה-API של Data Connect מורכב מ-executeGraphql
לקריאה וכתיבה
וממשק executeGraphqlRead
לקריאה בלבד.
ניהול נתוני משתמשים
תרחיש לדוגמה לשימוש ב-Admin SDK הוא ניהול נתוני משתמשים.
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" } } }
מה השלב הבא?
- לעיין בAPI של Admin SDK.
- אפשר להשתמש ב-CLI של Firebase ובמסוף Google Cloud לביצוע פעולות ניהול אחרות של פרויקטים, כמו ניהול סכימות ומחברים וניהול שירותים ומסדי נתונים.