Firebase Admin SDK هي مجموعة من مكتبات الخادم التي تتيح لك التفاعل مع Firebase من البيئات المميّزة لتنفيذ إجراءات مثل تنفيذ طلبات البحث والعمليات على خدمة Firebase Data Connect لإدارة البيانات المجمّعة وعمليات أخرى بصلاحيات مميّزة.
يوفّر لك Admin SDK واجهة برمجة تطبيقات لاستدعاء العمليات في وضعَي قراءة/كتابة وقراءة فقط. باستخدام عمليات القراءة فقط، يمكنك الشعور بالراحة عند تنفيذ وظائف إدارية لا يمكنها تعديل البيانات في قواعد بياناتك.
إعداد 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 لإجراء عمليات مميّزة على بياناتك المهمة.
تتألّف واجهة برمجة التطبيقات الخاصة بالنطاق 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" } } }
ما هي الخطوات التالية؟
- راجِع واجهة برمجة التطبيقات لـ Admin SDK.
- استخدام واجهة سطر الأوامر Firebase ووحدة تحكم Google Cloud لمشروع آخر عمليات الإدارة، مثل إدارة المخططات والموصلات وإدارة الخدمات وقواعد البيانات.