पैरामीटर वह तरीका है जिससे उपयोगकर्ता, हर इंस्टॉल को अपनी पसंद के मुताबिक बनाता है एक्सटेंशन की एक कॉपी होती है. पैरामीटर एक्सटेंशन चुनें. पैरामीटर की वैल्यू इनमें से कोई भी हो सकती है: अपने-आप भरी गई (इसके बाद Firebase से उपलब्ध कराया जाता है) या उपयोगकर्ता के हिसाब से कॉन्फ़िगर किया गया (इसके हिसाब से तय किया जाता है) उपयोगकर्ता से इंस्टॉलेशन के दौरान).
ये पैरामीटर आपके एक्सटेंशन में संदर्भ के लिए उपलब्ध हैं
सोर्स कोड, आपकी extension.yaml
फ़ाइल, और आपकी POSTINSTALL.md
को फ़ंक्शन करता है
फ़ाइल से लिए जाते हैं. नाम वाले पैरामीटर का रेफ़रंस देने का तरीका जानने के लिए, सिंटैक्स यहां दिया गया है
PARAMETER_NAME
:
अपने फ़ंक्शन के सोर्स कोड में,
params
मॉड्यूल (उदाहरण के लिए,params.defineInt("PARAMETER_NAME")
) याprocess.env.PARAMETER_NAME
.extension.yaml
औरPOSTINSTALL.md
में, इस्तेमाल करें${param:PARAMETER_NAME}
.इंस्टॉलेशन के बाद, Firebase कंसोल
POSTINSTALL.md
फ़ाइल डाउनलोड कर सकता है और किसी भी पैरामीटर के रेफ़रंस को इंस्टॉल किए गए इंस्टेंस के लिए, असल वैल्यू.
अपने-आप भरे गए पैरामीटर
किसी एक्सटेंशन के इंस्टॉल किए गए हर इंस्टेंस की ऐक्सेस, अपने-आप कई Firebase से मिले डिफ़ॉल्ट अपने-आप भरे गए पैरामीटर (टेबल देखें नीचे दिया गया है). ये पैरामीटर मान या तो Firebase के लिए डिफ़ॉल्ट मान होते हैं प्रोजेक्ट (जैसे कि डिफ़ॉल्ट स्टोरेज बकेट) या किसी खास एक्सटेंशन के आधार पर (जैसे कि एक्सटेंशन का इंस्टेंस आईडी).
अपने-आप भरी गई सभी पैरामीटर वैल्यू को बदला नहीं जा सकता. वे इस समय पर सेट हैं प्रोजेक्ट बनाना या एक्सटेंशन इंस्टॉल करना.
भले ही Firebase, एक्सटेंशन के लिए ये पैरामीटर वैल्यू अपने-आप भर देता है,
Firebase,
इंस्टॉल करने के तरीके. एक्सटेंशन को इंस्टॉल करने वाले उपयोगकर्ता को
और इंस्टॉल करने से पहले, प्रोजेक्ट में लागू प्रॉडक्ट. उदाहरण के लिए, अगर
आपके एक्सटेंशन में Cloud Firestore शामिल है, तो उपयोगकर्ता के लिए ज़रूरी है
अपने ब्राउज़र में, Cloud Firestore सेट अप करने के लिए
प्रोजेक्ट. हमारा सुझाव है कि आप अपने उपयोगकर्ताओं को इन ज़रूरी शर्तों के बारे में सूचना दें
PREINSTALL.md
फ़ाइल में सेव किया जाएगा.
अपने-आप भरे गए पैरामीटर के लिए रेफ़रंस | जानकारी | पैरामीटर वैल्यू (Firebase से मिली) |
---|---|---|
Firebase प्रोजेक्ट से डिफ़ॉल्ट वैल्यू वाले पैरामीटर | ||
PROJECT_ID |
उस Firebase प्रोजेक्ट के लिए यूनीक आइडेंटिफ़ायर जिसमें एक्सटेंशन इंस्टॉल किया गया |
सामान्य फ़ॉर्मैट:
वैल्यू का उदाहरण: |
DATABASE_URL |
Firebase प्रोजेक्ट का डिफ़ॉल्ट रीयल टाइम डेटाबेस इंस्टेंस यूआरएल |
सामान्य फ़ॉर्मैट:
वैल्यू का उदाहरण: |
DATABASE_INSTANCE |
Firebase प्रोजेक्ट के डिफ़ॉल्ट रीयल टाइम डेटाबेस इंस्टेंस का नाम आम तौर पर, यह वैल्यू प्रोजेक्ट आईडी के बराबर होती है या इतनी देर में खत्म होती है
|
सामान्य फ़ॉर्मैट:
वैल्यू का उदाहरण: |
STORAGE_BUCKET |
Firebase प्रोजेक्ट का डिफ़ॉल्ट Cloud Storage बकेट नाम |
सामान्य फ़ॉर्मैट:
वैल्यू का उदाहरण: |
एक्सटेंशन इंस्टॉलेशन से मिले डिफ़ॉल्ट वैल्यू वाला पैरामीटर | ||
EXT_INSTANCE_ID |
इंस्टॉल किए गए एक्सटेंशन इंस्टेंस के लिए यूनीक आइडेंटिफ़ायर यह वैल्यू इससे जनरेट होती है:
|
पहले इंस्टॉल किए गए इंस्टेंस के लिए सामान्य फ़ॉर्मैट (अपने-आप असाइन होने की सुविधा)
Firebase से; इंस्टॉलेशन के दौरान उपयोगकर्ता के बदलाव नहीं किए जा सकते):
वैल्यू का उदाहरण: दूसरे इंस्टॉल और इसके बाद के इंस्टेंस के लिए, सामान्य फ़ॉर्मैट
(Firebase से अपने-आप असाइन हो जाता है; उपयोगकर्ता बदलाव किया जा सकता है
इंस्टॉलेशन के दौरान:
वैल्यू का उदाहरण: |
उपयोगकर्ता के कॉन्फ़िगर किए गए पैरामीटर
एक्सटेंशन के इंस्टॉल किए गए हर इंस्टेंस को पसंद के मुताबिक बनाने के लिए, उपयोगकर्ता
इंस्टॉल करने के दौरान, उपयोगकर्ता से पैरामीटर वैल्यू तय करने के लिए कहें. इन पेमेंट का अनुरोध करने के लिए
वैल्यू है, तो आपको अपने extension.yaml
के params
सेक्शन में प्रॉम्प्ट सेट अप करने होंगे
फ़ाइल से लिए जाते हैं.
यहां एक उदाहरण के तौर पर params
सेक्शन दिया गया है. इसके बाद, दिए गए सभी उपलब्ध आइटम की जानकारी देने वाली टेबल दी गई है
पैरामीटर फ़ील्ड.
# extension.yaml
...
# Parameters (environment variables) for which the user specifies values during installation
params:
- param: DB_PATH
label: Realtime Database path
description: >-
What is the Realtime Database path where you will write new text
for sentiment analysis?
type: string
validationRegex: ^\S+$
validationErrorMessage: Realtime Database path cannot contain spaces.
example: path/to/posts
required: true
- param: TEXT_KEY
label: Key for text
description: What is the name of the key that will contain text to be analyzed?
type: string
default: textToAnalyze
required: true
अपनी extension.yaml
फ़ाइल के params
सेक्शन में, इन फ़ील्ड का इस्तेमाल करें
का इस्तेमाल करें:
फ़ील्ड | टाइप | जानकारी | ||||
---|---|---|---|---|---|---|
param (ज़रूरी है) |
स्ट्रिंग | पैरामीटर का नाम | ||||
label (ज़रूरी है) |
स्ट्रिंग |
पैरामीटर के बारे में कम शब्दों में जानकारी उपयोगकर्ता को तब दिखाया जाता है, जब उन्हें पैरामीटर के वैल्यू |
||||
description (ज़रूरी नहीं) |
स्ट्रिंग |
पैरामीटर के बारे में पूरी जानकारी उपयोगकर्ता को तब दिखाया जाता है, जब उन्हें पैरामीटर के वैल्यू Markdown के साथ काम करता है | ||||
type (ज़रूरी नहीं) |
स्ट्रिंग |
उपयोगकर्ता किसी पैरामीटर की वैल्यू कैसे सेट करता है, इसके लिए इनपुट का तरीका (इसके लिए उदाहरण के लिए, सीधे टेक्स्ट डालें या ड्रॉपडाउन सूची से चुनें) मान्य वैल्यू में ये शामिल हैं:
अगर इस फ़ील्ड को शामिल नहीं किया जाता है, तो पैरामीटर डिफ़ॉल्ट रूप से |
||||
options (पैरामीटर type के लिए ज़रूरी है
select या multiSelect है)
|
सूची |
उपयोगकर्ता इनमें से जो वैल्यू चुन सकते हैं उनकी सूची इसमें
|
||||
resourceType (पैरामीटर type के लिए ज़रूरी है
है selectResource )
|
स्ट्रिंग |
उपयोगकर्ता को चुनने का अनुरोध करने वाले Firebase संसाधन का टाइप. फ़िलहाल, सिर्फ़ Cloud Storage बकेट ही संसाधन सिलेक्टर के साथ काम करती हैं:
|
||||
example (ज़रूरी नहीं) |
स्ट्रिंग |
पैरामीटर के लिए वैल्यू का उदाहरण |
||||
validationRegex (ज़रूरी नहीं) (सिर्फ़ तब लागू होता है, जब type पैरामीटर यह हो
string )
|
स्ट्रिंग |
पैरामीटर की उपयोगकर्ता की ओर से कॉन्फ़िगर की गई वैल्यू की पुष्टि करने के लिए रेगुलर एक्सप्रेशन स्ट्रिंग Regex को go लाइब्रेरी का इस्तेमाल करके कंपाइल किया गया है: RE2 पुष्टि करने के बारे में जानने के लिए, इसे देखें पुष्टि करना और गड़बड़ी करना मैसेज नीचे दिया गया है. |
||||
validationErrorMessage (ज़रूरी नहीं) |
स्ट्रिंग |
दिखाई देने वाला गड़बड़ी संदेश, अगर
गड़बड़ी के मैसेज की सुविधा के बारे में जानने के लिए, यहां जाएं पुष्टि करना और गड़बड़ी करना मैसेज नीचे दिया गया है. |
||||
default (ज़रूरी नहीं) |
स्ट्रिंग |
अगर उपयोगकर्ता पैरामीटर को छोड़ देता है, तो पैरामीटर की डिफ़ॉल्ट वैल्यू वैल्यू वाला फ़ील्ड खाली है अगर लागू हो, तो
अपने-आप पॉप्युलेट हुए पैरामीटर की वैल्यू
|
||||
required (ज़रूरी नहीं) |
बूलियन |
यह तय करता है कि उपयोगकर्ता खाली स्ट्रिंग सबमिट कर सकता है या नहीं पैरामीटर की वैल्यू के लिए प्रॉम्प्ट किया जाता है अगर |
||||
immutable (ज़रूरी नहीं) |
बूलियन |
यह तय करता है कि उपयोगकर्ता इंस्टॉल किए जा सकते हैं (उदाहरण के लिए, अगर वे फिर से कॉन्फ़िगर करें एक्सटेंशन) अगर
ध्यान दें: अगर आपने
"जगह"
आपके एक्सटेंशन के डिप्लॉय किए गए फ़ंक्शन के लिए पैरामीटर,
तो आपको इस |
उपयोगकर्ता के लिए कॉन्फ़िगर की गई वैल्यू की पुष्टि करने और गड़बड़ी के मैसेज भेजने की सुविधा
जब आप string
के type
के साथ कोई पैरामीटर सेट अप करते हैं, तो आपको
पैरामीटर के ज़रिए सही रेगुलर एक्सप्रेशन की पुष्टि करें
validationRegex
फ़ील्ड.
साथ ही, कई एक्सटेंशन के लिए आम तौर पर अनुरोध की जाने वाली पैरामीटर वैल्यू एक डेटाबेस होती है पाथ या Cloud Storage बकेट. ध्यान रखें कि इंस्टॉल करने, फिर से कॉन्फ़िगर करने या अपडेट के तौर पर, एक्सटेंशन सेवा पैरामीटर वैल्यू एंट्री का समय:
- तय किया गया डेटाबेस या Cloud Storage बकेट उपयोगकर्ता का Firebase प्रोजेक्ट
- उपयोगकर्ता के डेटाबेस में बताया गया डेटाबेस पाथ मौजूद है या नहीं
हालांकि, जब एक्सटेंशन असल में अपने संसाधनों को डिप्लॉय करता है, तो अगर Firebase कंसोल या Firebase सीएलआई, गड़बड़ी का मैसेज दिखाएंगे, तो बताया गया डेटाबेस या Cloud Storage बकेट अभी तक प्रोजेक्ट में सेट अप नहीं किया गया है.
हम सशक्त सुझाव देते हैं कि आप उपयोगकर्ताओं को
PREINSTALL
फ़ाइल
संबंधी जानकारी देनी होगी, ताकि जब वे आपका एक्सटेंशन इंस्टॉल करें, तो वह
सफलतापूर्वक इंस्टॉल होता है और उम्मीद के मुताबिक काम करता है.
सिस्टम पैरामीटर
सिस्टम पैरामीटर, एक्सटेंशन के संसाधनों के बुनियादी कॉन्फ़िगरेशन को कंट्रोल करते हैं. इनका मकसद संसाधन कॉन्फ़िगरेशन को कंट्रोल करना होता है, उन्हें आपके फ़ंक्शन कोड में, एनवायरमेंट वैरिएबल के तौर पर ऐक्सेस नहीं किया जा सकता.
आम तौर पर, आपको इन पैरामीटर के लिए कुछ भी एलान करने की ज़रूरत नहीं होती है
extension.yaml
.
वे हर एक्सटेंशन इंस्टेंस के लिए, अपने-आप तय हो जाते हैं,
और उपयोगकर्ता आपके ऐप्लिकेशन को इंस्टॉल करते समय कस्टम वैल्यू सेट कर सकते हैं
एक्सटेंशन चुनें.
हालांकि, यदि आपके एक्सटेंशन की विशेष संसाधन आवश्यकताएं हैं, तो
तो आपको extension.yaml
में हर संसाधन के लेवल पर खास वैल्यू सेट करनी होगी.
ये प्रति-संसाधन कॉन्फ़िगरेशन सेटिंग, उपयोगकर्ता के एक्सटेंशन को ओवरराइड कर देंगी
इंस्टेंस-वाइड सेटिंग.
उदाहरण के लिए:
resources:
- name: high_memory_function
type: firebaseextensions.v1beta.function
description: >-
This function needs at least 1GB of memory!
properties:
httpsTrigger: {}
runtime: nodejs18
availableMemoryMb: 1024
- name: normal_function
type: firebaseextensions.v1beta.function
description: >-
This function has no special memory requirements. It will use the
default value, or the value of `firebaseextension.v1beta.function/memory`
properties:
httpsTrigger: {}
runtime: nodejs18
उपलब्ध सिस्टम पैरामीटर हैं:
नाम | लेबल (मैन्युअल तरीके से) | properties में संबंधित फ़ील्ड |
ब्यौरा |
---|---|---|---|
firebaseextensions.v1beta.Function/location | जगह | location |
Cloud Functions को किस इलाके में डिप्लॉय किया जाना चाहिए? |
firebaseextensions.v1beta.Function/memory | फ़ंक्शन मेमोरी | memory |
हर फ़ंक्शन के लिए, कितने मेगाबाइट मेमोरी खाली की जानी चाहिए? |
firebaseextensions.v1beta.Function/timeoutSeconds | फ़ंक्शन टाइम आउट | timeout |
समय खत्म होने से पहले, फ़ंक्शन कितने सेकंड चलने चाहिए? |
firebaseextensions.v1beta.Function/vpcConnectorEwaysSettings | VPC कनेक्टर इग्रेस डेटा ट्रैफ़िक | vpcConnectorEgressSettings |
VPC कनेक्टर कॉन्फ़िगर होने पर, आउटगोइंग ट्रैफ़िक को कंट्रोल किया जाता है |
firebaseextensions.v1beta.Function/vpcConnector | VPC कनेक्टर | vpcConnector |
Cloud Functions को, बताए गए VPC कनेक्टर से कनेक्ट करता है. |
firebaseextensions.v1beta.फ़ंक्शन/minInstances | कम से कम फ़ंक्शन इंस्टेंस | minInstances |
एक साथ चलाने के लिए इस फ़ंक्शन के कम से कम इंस्टेंस की संख्या |
firebaseextensions.v1beta.Function/maxInstances | फ़ंक्शन के ज़्यादा से ज़्यादा इंस्टेंस | maxInstances |
एक बार में इस फ़ंक्शन को ज़्यादा से ज़्यादा कितनी बार चलाया जा सकता है |
firebaseextensions.v1beta.Function/inग्रेसSettings | इन्ग्रेस डेटा ट्रैफ़िक की सेटिंग | ingressSettings |
यह नीति कंट्रोल करती है कि आने वाले ट्रैफ़िक कहां से स्वीकार किए जाते हैं |
firebaseextensions.v1beta.Function/labels | लेबल | labels |
एक्सटेंशन में मौजूद सभी संसाधनों पर लागू होने वाले लेबल |