Firebase Admin SDK مجموعه ای از کتابخانه های سرور است که به شما امکان می دهد از محیط های دارای امتیاز با Firebase تعامل داشته باشید تا اقداماتی مانند انجام پرس و جو و جهش در سرویس Firebase Data Connect برای مدیریت داده های انبوه و سایر عملیات با امتیازات بالا انجام دهید.
Admin SDK یک API برای فراخوانی عملیات در هر دو حالت خواندن/نوشتن و فقط خواندنی در اختیار شما قرار می دهد. با عملیات فقط خواندنی، خیال شما را از اجرای توابع مدیریتی که نمیتوانند دادهها را در پایگاه دادههای شما تغییر دهند، دارید.
راه اندازی 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 به شما امکان می دهد گردش کار خود را ساده کنید زیرا احراز هویت و مجوز برای جریان های محلی را نادیده می گیرد.
هنگامی که متغیر محیطی DATA_CONNECT_EMULATOR_HOST
تنظیم شده باشد، Firebase Admin SDK به طور خودکار به شبیه ساز Data Connect متصل می شود:
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 مرور کنید.
- از Firebase CLI و کنسول Google Cloud برای سایر عملیات مدیریت پروژه، مانند مدیریت طرحوارهها و رابطها و مدیریت سرویسها و پایگاههای داده استفاده کنید.