Parameters are the mechanism through which a user customizes each installed instance of an extension. Parameters are like the environment variables for an extension. প্যারামিটারগুলির মানগুলি হয় স্বয়ংক্রিয়-জনবহুল (ইনস্টলেশনের পরে ফায়ারবেস দ্বারা সরবরাহ করা) বা ব্যবহারকারী-কনফিগার করা (ইনস্টলেশন চলাকালীন ব্যবহারকারী দ্বারা নির্দিষ্ট) করা যেতে পারে।
These parameters are available for you to reference in your extension's functions source code, your extension.yaml
file, and your POSTINSTALL.md
file. Here's the syntax for how to reference a parameter called PARAMETER_NAME
:
Within your functions source code, use the
params
module (for example,params.defineInt(" PARAMETER_NAME ")
) orprocess.env. PARAMETER_NAME
.extension.yaml
এবংPOSTINSTALL.md
এর মধ্যে,${param: PARAMETER_NAME }
ব্যবহার করুন}After installation, the Firebase console displays the contents of the
POSTINSTALL.md
file and populates any parameter references with the actual values for the installed instance.
অটো-জনবহুল পরামিতি
Each installed instance of an extension automatically has access to several default auto-populated parameters provided by Firebase (refer to the table below). These parameter values are either the default values for the Firebase project (like the default Storage bucket) or they're extension-specific (like the extension's instance ID).
সমস্ত অটো-জনবহুল প্যারামিটার মানগুলি অপরিবর্তনীয়। They are set at the time of project creation or extension installation.
যদিও ফায়ারবেস এক্সটেনশনের জন্য এই প্যারামিটার মানগুলি অটো-পপুলেট করে, ফায়ারবেস ইনস্টলেশন চলাকালীন ব্যবহারকারীর জন্য সম্পর্কিত পণ্যগুলিকে স্বতঃ-সরবরাহ করে না । The user installing the extension must enable the associated and applicable product(s) in their project before installation. For example, if your extension involves Cloud Firestore , the user must set up Cloud Firestore in their project. We recommend notifying your users about these requirements in the PREINSTALL.md
file .
অটো-জনবহুল প্যারামিটারের জন্য রেফারেন্স | বর্ণনা | প্যারামিটার মান (ফায়ারবেস দ্বারা সরবরাহ করা) |
---|---|---|
Parameters with default values from the Firebase project | ||
PROJECT_ID | Unique identifier for the Firebase project in which the extension is installed | সাধারণ বিন্যাস: উদাহরণ মান: |
DATABASE_URL | The Firebase project's default Realtime Database instance URL | সাধারণ বিন্যাস: উদাহরণ মান: |
DATABASE_INSTANCE | ফায়ারবেস প্রকল্পের ডিফল্ট Realtime Database উদাহরণ নাম সাধারণত, এই মানটি প্রজেক্ট আইডির সমান, বা | সাধারণ বিন্যাস: উদাহরণ মান: |
STORAGE_BUCKET | ফায়ারবেস প্রকল্পের ডিফল্ট ক্লাউড স্টোরেজ বালতি নাম | সাধারণ বিন্যাস: উদাহরণ মান: |
এক্সটেনশন ইনস্টলেশন থেকে ডিফল্ট মান সহ প্যারামিটার | ||
EXT_INSTANCE_ID | ইনস্টল এক্সটেনশন উদাহরণের জন্য অনন্য শনাক্তকারী এই মানটি | 1ম ইনস্টল করা উদাহরণের জন্য সাধারণ বিন্যাস (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 (প্রয়োজনীয়) | স্ট্রিং | প্যারামিটারের জন্য সংক্ষিপ্ত বিবরণ Displayed to the user when they're prompted for the parameter's value | ||||
description (ঐচ্ছিক) | স্ট্রিং | প্যারামিটারের জন্য বিশদ বিবরণ Displayed to the user when they're prompted for the parameter's value মার্কডাউন সমর্থন করে | ||||
type (ঐচ্ছিক) | স্ট্রিং | Input mechanism for how the user sets the parameter's value (for example, enter text directly or select from dropdown list) বৈধ মান নিম্নলিখিত অন্তর্ভুক্ত:
যদি এই ক্ষেত্রটি বাদ দেওয়া হয়, তাহলে প্যারামিটারটি | ||||
options (যদি প্যারামিটারের type select হয় বা multiSelect হয় তবে প্রয়োজনীয়) | তালিকা | যে মানগুলি থেকে ব্যবহারকারী নির্বাচন করতে পারেন তার তালিকা
| ||||
resourceType (যদি প্যারামিটারের type selectResource হয় তবে প্রয়োজনীয়) | স্ট্রিং | ব্যবহারকারীকে নির্বাচন করতে অনুরোধ জানাতে ফায়ারবেস রিসোর্সের ধরণ। বর্তমানে, কেবল Cloud Storage বালতিগুলি রিসোর্স নির্বাচকদের সমর্থন করে:
অজানা | ||||
example (ঐচ্ছিক) | স্ট্রিং | প্যারামিটারের জন্য উদাহরণ মান | ||||
validationRegex (ঐচ্ছিক) (কেবল তখনই প্রযোজ্য যখন প্যারামিটারের type string হয়) | স্ট্রিং | Regex string for validation of the parameter's user-configured value Regex is compiled using the go library: RE2 For details about validation, refer to Validation and error messaging below. | ||||
validationErrorMessage (ঐচ্ছিক) | স্ট্রিং | ত্রুটি বার্তাপ্রেরণ সম্পর্কে বিশদ বিবরণের জন্য, নীচের বৈধতা এবং ত্রুটি বার্তা পাঠান। | ||||
default (ঐচ্ছিক) | স্ট্রিং | প্যারামিটারের জন্য ডিফল্ট মান যদি ব্যবহারকারী প্যারামিটারের মান ফাঁকা ছেড়ে দেয় যদি প্রযোজ্য হয় তবে আপনি | ||||
required (ঐচ্ছিক) | বুলিয়ান | ব্যবহারকারী যখন প্যারামিটারের মানের জন্য অনুরোধ জানানো হয় তখন তারা খালি স্ট্রিং জমা দিতে পারে কিনা তা নির্ধারণ করে If | ||||
immutable (ঐচ্ছিক) | বুলিয়ান | ব্যবহারকারী ইনস্টলেশনের পরে প্যারামিটারের মান পরিবর্তন করতে পারে কিনা তা নির্ধারণ করে (উদাহরণস্বরূপ, যদি তারা এক্সটেনশনটি পুনরায় কনফিগার করে ) If Note: If you define a "location" parameter for the deployed functions of your extension , then you should include this |
ব্যবহারকারী-কনফিগার করা মানগুলির জন্য বৈধতা এবং ত্রুটি বার্তাপ্রেরণ
যখন আপনি string
এর type
সাথে একটি প্যারামিটার সেট আপ করেন, তখন আপনাকে প্যারামিটারের validationRegex
ক্ষেত্রের মাধ্যমে উপযুক্ত রেজেক্স বৈধতা নির্ধারণ করতে হবে।
এছাড়াও, অনেক এক্সটেনশনের জন্য, একটি সাধারণভাবে অনুরোধ করা প্যারামিটার মান হল একটি ডাটাবেস পাথ বা Cloud Storage বাকেট। সচেতন থাকুন যে ইনস্টল, পুনরায় কনফিগার বা আপডেট করার সময়, Extensions পরিষেবা প্যারামিটার মান প্রবেশের সময় নিম্নলিখিতগুলিকে যাচাই করে না :
- নির্দিষ্ট ডাটাবেস বা Cloud Storage বালতিটি ব্যবহারকারীর ফায়ারবেস প্রকল্পের মধ্যে সেট আপ করা আছে কিনা
- Whether the specified database path exists within the user's database
যাইহোক, যখন এক্সটেনশনটি প্রকৃতপক্ষে তার সংস্থানগুলি স্থাপন করছে, তখন Firebase কনসোল বা Firebase CLI একটি ত্রুটি বার্তা প্রদর্শন করবে যদি প্রজেক্টে রেফারেন্সকৃত ডাটাবেস বা Cloud Storage বাকেটটি এখনও সেট আপ না করা হয়।
আমরা দৃ strongly ়ভাবে সুপারিশ করি যে আপনি এই প্রয়োজনীয়তাগুলি সম্পর্কে PREINSTALL
ফাইলে ব্যবহারকারীদের অবহিত করুন যাতে তারা যখন আপনার এক্সটেনশনটি ইনস্টল করে, এটি সফলভাবে ইনস্টল করে এবং প্রত্যাশার মতো কাজ করে।
সিস্টেম পরামিতি
System parameters control the basic configuration of an extension's resources. Since they are meant to control resource configuration, they are not accessible as environment variables from within your function code.
You don't normally need to declare anything for these parameters in extension.yaml
. এগুলি প্রতিটি এক্সটেনশন উদাহরণের জন্য স্বয়ংক্রিয়ভাবে সংজ্ঞায়িত করা হয় এবং ব্যবহারকারীরা আপনার এক্সটেনশনটি ইনস্টল করার সময় কাস্টম মান নির্ধারণের সুযোগ পায়।
However, if your extension has special resource requirements, you can set specific values on a per-resource level in extension.yaml
. These per-resource configuration settings will override the user's extension instance-wide settings. যেমন:
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 সংশ্লিষ্ট ক্ষেত্র | বর্ণনা |
---|---|---|---|
ফায়ারব্যাসিেক্সটেনশনস.ভি 1 বিটা.ফানশন/অবস্থান | অবস্থান | location | কোন অঞ্চলে ক্লাউড ফাংশনগুলি স্থাপন করা উচিত? |
ফায়ারব্যাসিএক্সটেনশনস.ভি 1 বিটা.ফানশন/মেমরি | ফাংশন মেমরি | memory | প্রতিটি ফাংশনে কতগুলি মেগাবাইট মেমরি বরাদ্দ করা উচিত? |
ফায়ারব্যাসিএক্সটেনশনস.ভি 1 বিটা.ফানশন/টাইমআউটসেকেন্ডস | ফাংশন টাইমআউট | timeout | সময় শেষ হওয়ার আগে ফাংশনগুলি কত সেকেন্ড চালানো উচিত? |
ফায়ারব্যাসিেক্সটেনশনস.ভি 1 বিটা.ফানশন/ভিপিসি কনটোরগ্রেসসেসটিংস | ভিপিসি সংযোগকারী এগ্রেস | vpcConnectorEgressSettings | ভিপিসি সংযোগকারী কনফিগার করা হলে বহির্গামী ট্র্যাফিক নিয়ন্ত্রণ করে |
ফায়ারব্যাসিেক্সটেনশনস.ভি 1 বিটা.ফানশন/ভিপিসকনেক্টর | ভিপিসি সংযোগকারী | vpcConnector | নির্দিষ্ট ভিপিসি সংযোজকের সাথে ক্লাউড ফাংশনগুলিকে সংযুক্ত করে। |
firebaseextensions.v1beta.function/minInstances | ন্যূনতম ফাংশন দৃষ্টান্ত | minInstances | The minimum number of instances of this function to run at once |
firebaseextensions.v1beta.function/maxInstances | Maximum function instances | maxInstances | The maximum number of instances of this function to run at once |
firebaseextensions.v1beta.function/ingressSettings | ইনগ্রেস সেটিংস | ingressSettings | নিয়ন্ত্রণগুলি যেখানে আগত ট্র্যাফিক গ্রহণ করা হয় |
ফায়ারব্যাসিেক্সটেনশনস.ভি 1 বিটা.ফানশন/লেবেল | লেবেল | labels | এক্সটেনশনের সমস্ত সংস্থানে প্রযোজ্য লেবেল৷ |