Firebase Admin SDK, सर्वर लाइब्रेरी का एक सेट है. इसकी मदद से, ऐक्सेस लेवल वाले एनवायरमेंट से Firebase के साथ इंटरैक्ट किया जा सकता है. इससे, बड़ी डेटा मैनेजमेंट सेवा के लिए Firebase Data Connect सेवा पर क्वेरी करने और डेटा में बदलाव करने जैसी कार्रवाइयां की जा सकती हैं. साथ ही, ऐक्सेस लेवल वाले अन्य ऑपरेशन भी किए जा सकते हैं.
Admin SDK, आपको रीड/राइट और रीड-ओनली, दोनों मोड में ऑपरेशन कॉल करने के लिए एपीआई उपलब्ध कराता है. सिर्फ़ पढ़ने की अनुमति वाले ऑपरेशन की मदद से, एडमिन के ऐसे फ़ंक्शन लागू किए जा सकते हैं जिनसे आपके डेटाबेस में मौजूद डेटा में बदलाव नहीं होता.
Admin SDK सेटअप करना
अपने सर्वर पर Firebase Data Connect का इस्तेमाल शुरू करने के लिए, आपको पहले Node.js के लिए Admin SDK को इंस्टॉल और सेट अप करना होगा.
अपनी स्क्रिप्ट में 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
के तौर पर सेट करें. दोनों ही मामलों में, इससे क्लाइंट या बिना विशेषाधिकार वाले अन्य संदर्भों से ऐसे ऑपरेशन को पूरा होने से रोका जाता है.
Data Connect एम्युलेटर के साथ SDK टूल का इस्तेमाल करना
प्रोटोटाइप और टेस्ट एनवायरमेंट में, लोकल डेटा पर डेटा सीडिंग और अन्य कार्रवाइयां करने के लिए, यह सुविधा काम की हो सकती है. Admin SDK की मदद से, वर्कफ़्लो को आसान बनाया जा सकता है. ऐसा इसलिए, क्योंकि यह स्थानीय फ़्लो के लिए पुष्टि और अनुमति को अनदेखा करता है.
DATA_CONNECT_EMULATOR_HOST
एनवायरमेंट वैरिएबल सेट होने पर, Firebase Admin SDK टूल अपने-आप Data Connect एमुलेटर से कनेक्ट हो जाते हैं:
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 कंसोल का इस्तेमाल करें. जैसे, स्कीमा और कनेक्टर मैनेज करना और सेवाओं और डेटाबेस मैनेज करना.