extension.yaml এর জন্য রেফারেন্স

আপনার এক্সটেনশনের স্পেসিফিকেশন ফাইল ( extension.yaml ) আপনার এক্সটেনশনের মেটাডেটা ধারণ করে, এক্সটেনশনের দ্বারা তৈরি সংস্থান এবং API এবং এক্সটেনশনের জন্য প্রয়োজনীয় অ্যাক্সেস ঘোষণা করে এবং এক্সটেনশন দ্বারা প্রদত্ত যেকোন ব্যবহারকারী-কনফিগার করা প্যারামিটারগুলিকে সংজ্ঞায়িত করে৷

এই পৃষ্ঠার টেবিলগুলি extension.yaml ফাইলের জন্য উপলব্ধ ক্ষেত্রগুলি বর্ণনা করে৷

মৌলিক এবং সনাক্তকরণ তথ্য

name: your-extension-name
version: 1.0.0         # Semantic versioning (semver)
specVersion: v1beta    # Always "v1beta"
license: Apache-2.0    # Always "Apache-2.0" (required to publish on extensions.dev)
billingRequired: true  # Always "true"

displayName: Your extension name
description: >-
  Description of the extension. (One or two
  sentences.)
icon: icon.png
tags: [tag, anothertag]

sourceUrl: https://github.com/your-org/your-repo   # GitHub repo URL
releaseNotesUrl: https://github.com/your-org/your-repo/blob/main/CHANGELOG.md

author:
  authorName: Your Company
  email: extensions@example.com
  url: https://example.com/
contributors:
  - authorName: Your Name
  - authorName: Another Contributor
    email: colleague@example.net
    url: https://github.com/their-org/
মৌলিক ক্ষেত্র
name
স্ট্রিং
(প্রয়োজনীয়)

এক্সটেনশনের জন্য শনাক্তকারী।

শুধুমাত্র ছোট হাতের অক্ষর, সংখ্যা এবং ড্যাশ থাকতে পারে; 40 অক্ষর সীমা

দ্রষ্টব্য: এই মানটি এক্সটেনশনের ইনস্ট্যান্স আইডি তৈরি করতে ব্যবহৃত হয় (যা পরে এক্সটেনশনের পরিষেবা অ্যাকাউন্টের নাম এবং এক্সটেনশন-নির্দিষ্ট সংস্থানগুলি তৈরি করতে ব্যবহৃত হয়)৷

version
স্ট্রিং
(প্রয়োজনীয়)

এক্সটেনশনের সংস্করণ।

সেমভার সংস্করণ অনুসরণ করতে হবে (উদাহরণস্বরূপ, 1.2.0)।

specVersion
স্ট্রিং
(প্রয়োজনীয়)

Firebase এক্সটেনশন স্পেসিফিকেশনের সংস্করণ।

বর্তমান মান: v1beta

license
স্ট্রিং
(ঐচ্ছিক)

এক্সটেনশনের জন্য লাইসেন্স।

আপনার এক্সটেনশন অবশ্যই Apache-2.0 ব্যবহার করে লাইসেন্সপ্রাপ্ত হতে হবে।

billingRequired
বুলিয়ান
(ঐচ্ছিক)

এক্সটেনশন দ্বারা ব্যবহৃত পরিষেবাগুলির জন্য একটি প্রদত্ত-স্তরের Firebase বিলিং অ্যাকাউন্টের প্রয়োজন হয় কিনা৷

সর্বদা true সেট করুন.

displayName
স্ট্রিং
(ঐচ্ছিক)

এক্সটেনশনের জন্য বন্ধুত্বপূর্ণ প্রদর্শন নাম (3-5 শব্দ)।

40 অক্ষর সীমা

description
স্ট্রিং
(ঐচ্ছিক)
আপনার এক্সটেনশন যে কাজটি সম্পাদন করে তার সংক্ষিপ্ত বিবরণ (~1 বাক্য)।
icon
স্ট্রিং
(ঐচ্ছিক)

extensions.dev এবং Firebase কনসোলে আপনার এক্সটেনশনের আইকন হিসেবে ব্যবহার করার জন্য ফাইল।

এই ফাইলটি অবশ্যই 512x512 এবং 1024x1024 পিক্সেলের মধ্যে একটি বর্গাকার PNG হতে হবে৷ ফাইলটিকে extension.yaml হিসাবে একই ডিরেক্টরিতে রাখুন; আপনি একটি সাবডিরেক্টরি নির্দিষ্ট করতে পারবেন না।

আপনার এক্সটেনশনের জন্য একটি আইকন ডিজাইন করার সময় নিম্নলিখিত নির্দেশিকাগুলি মনে রাখবেন:

  • আপনার ব্র্যান্ডের জন্য উপযুক্ত ব্যাকগ্রাউন্ড এবং আর্টওয়ার্ক রং নির্বাচন করুন।
  • আপনার আইকন রং সহজ রাখুন, শুধুমাত্র 2 রং ব্যবহার করে. একাধিক রঙ আপনার আইকনকে দৃশ্যত অপ্রতিরোধ্য করে তুলতে পারে।
  • একই কারণে, আপনার আইকনে গ্রেডিয়েন্ট ব্যবহার করবেন না। গ্রেডিয়েন্টগুলি ছোট আকারে সনাক্ত করা কঠিন এবং আইকনটিকে দৃশ্যত জটিল করে তোলে।
  • সহজ, অনন্য চিত্রাবলী ব্যবহার করুন যা আপনার এক্সটেনশনের কার্যকারিতার সাথে যোগাযোগ করে।
  • যদি আপনার কোম্পানি একাধিক এক্সটেনশন তৈরি করে, তাহলে আইকন হিসেবে আপনার লোগো ব্যবহার করবেন না। ব্যবহারকারীদের আপনার এক্সটেনশনগুলির মধ্যে পার্থক্য করতে অসুবিধা হবে৷
  • আর্টওয়ার্ক গ্রাফিক এবং সাহসী করুন. সূক্ষ্ম বা বিস্তৃত শিল্প ব্যবহার করবেন না, যা ছোট আকারে ভাল রেন্ডার করবে না।
  • আপনার এক্সটেনশন কী করে তা ব্যাখ্যা করে এমন শব্দ অন্তর্ভুক্ত করবেন না। পাঠ্য প্রায়ই ছোট আকারে অপাঠ্য।
tags
স্ট্রিং তালিকা
(ঐচ্ছিক)
ব্যবহারকারীদের আপনার এক্সটেনশন আবিষ্কার করতে সাহায্য করার জন্য ট্যাগ। নিম্নলিখিত ট্যাগগুলি এক্সটেনশন হাবের বিভাগগুলির মানচিত্র: marketing , messaging , payments , search , shipping , social , utilities , ai
sourceUrl
স্ট্রিং
(ঐচ্ছিক)
সর্বজনীন URL যেখানে এক্সটেনশন ডিরেক্টরি অ্যাক্সেস করা যেতে পারে।
releaseNotesUrl
স্ট্রিং
(ঐচ্ছিক)
সর্বজনীন URL যেখানে এক্সটেনশনের জন্য রিলিজ নোটগুলি অ্যাক্সেস করা যেতে পারে৷
author
একজন লেখক বস্তু
(ঐচ্ছিক)

এক্সটেনশনের জন্য প্রাথমিক লেখক এবং যোগাযোগের পয়েন্ট।

author:
  authorName: Your Company
  email: extensions@example.com
  url: https://example.com/
লেখক ক্ষেত্র
authorName
স্ট্রিং
(প্রয়োজনীয়)

লেখকের নাম।

একজন ব্যক্তি, কোম্পানি, সংস্থা ইত্যাদি হতে পারে।

email
স্ট্রিং
(ঐচ্ছিক)
লেখকের ইমেইল ঠিকানা।
url
স্ট্রিং
(ঐচ্ছিক)
সর্বজনীন URL যেখানে লেখক সম্পর্কে তথ্য অ্যাক্সেস করা যেতে পারে।
contributors
লেখক বস্তুর তালিকা
(ঐচ্ছিক)

এক্সটেনশনের জন্য কোনো অতিরিক্ত অবদানকারী লেখক।

contributors:
  - authorName: Your Name
  - authorName: Another Contributor
    email: colleague@example.net
    url: https://github.com/their-org/
লেখক ক্ষেত্র
authorName
স্ট্রিং
(প্রয়োজনীয়)

লেখকের নাম।

একজন ব্যক্তি, কোম্পানি, সংস্থা ইত্যাদি হতে পারে।

email
স্ট্রিং
(ঐচ্ছিক)
লেখকের ইমেইল ঠিকানা।
url
স্ট্রিং
(ঐচ্ছিক)
সর্বজনীন URL যেখানে লেখক সম্পর্কে তথ্য অ্যাক্সেস করা যেতে পারে।

Firebase এবং Google Cloud APIs

এই ক্ষেত্রগুলি এক্সটেনশন ব্যবহার করে Firebase এবং Google APIগুলি নির্দিষ্ট করে৷ যখন ব্যবহারকারীরা এক্সটেনশন ইনস্টল করেন, তখন তারা তাদের প্রকল্পে এই APIগুলি স্বয়ংক্রিয়ভাবে সক্ষম করতে বেছে নিতে পারেন।

apis:
  - apiName: apiname.googleapis.com
    reason: Explanation of why the extension uses this API
  - apiName: anotherapiname.googleapis.com
    reason: Explanation of why the extension uses this API
API ক্ষেত্র
apiName
স্ট্রিং
(প্রয়োজনীয়)

Google API এর নাম

Google ক্লাউড API লাইব্রেরিতে প্রতিটি API-এর ওভারভিউ পৃষ্ঠায় ( উদাহরণ ) তালিকাভুক্ত পরিষেবার নামের ক্ষেত্রের সাথে অবশ্যই মিল থাকতে হবে

reason
স্ট্রিং
(প্রয়োজনীয়)
এক্সটেনশন কেন এই API ব্যবহার করতে হবে তার সংক্ষিপ্ত বিবরণ

IAM ভূমিকা

এই ক্ষেত্রগুলি এক্সটেনশনের জন্য প্রয়োজনীয় ক্লাউড IAM ভূমিকাগুলি নির্দিষ্ট করে৷ এক্সটেনশনের জন্য প্রবিধান পরিষেবা অ্যাকাউন্ট এই ভূমিকা মঞ্জুর করা হয়.

আপনি শুধুমাত্র সমর্থিত ভূমিকাগুলির একটি নির্দিষ্ট করতে পারেন৷

roles:
  - role: product.role
    reason: Explanation of why the extension needs this level of access
  - role: anotherproduct.role
    resource: projects/${project_id}/resource_type/*
    reason: Explanation of why the extension needs this level of access
ভূমিকা ক্ষেত্র
role
স্ট্রিং
(প্রয়োজনীয়)

এক্সটেনশন পরিচালনার জন্য প্রয়োজনীয় IAM ভূমিকার নাম৷

সমর্থিত ভূমিকাগুলির মধ্যে একটি হতে হবে

reason
স্ট্রিং
(প্রয়োজনীয়)
কেন এক্সটেনশনের এই ভূমিকা দ্বারা প্রদত্ত অ্যাক্সেসের প্রয়োজন তার সংক্ষিপ্ত বিবরণ৷
resource
স্ট্রিং
(ঐচ্ছিক)

এই সম্পদে ভূমিকার সুযোগ সীমিত করুন।

যদি বাদ দেওয়া হয়, projects/${project_id}ভূমিকার সুযোগ হ্রাস করুন দেখুন।

বাহ্যিক পরিষেবা

এই ক্ষেত্রগুলি নন-ফায়ারবেস এবং নন-Google পরিষেবাগুলি নির্দিষ্ট করে যা এক্সটেনশন ব্যবহার করে (সাধারণত REST API)। Firebase এক্সটেনশন প্ল্যাটফর্ম এই পরিষেবাগুলির জন্য স্বয়ংক্রিয়ভাবে সক্ষম বা অনুমোদন করার কোনো উপায় প্রদান করে না।

externalServices:
  - name: Example API
    pricingUri: https://developers.example.com/pricing
  - name: Another Example API
    pricingUri: https://developers.example.com/pricing
বাহ্যিক পরিষেবা ক্ষেত্র
name
স্ট্রিং
(প্রয়োজনীয়)
এক্সটেনশনটি পরিচালনা করার জন্য প্রয়োজনীয় বাহ্যিক পরিষেবার নাম৷
pricingUri
স্ট্রিং
(প্রয়োজনীয়)
পরিষেবার জন্য মূল্যের তথ্য থেকে URI

ব্যবহারকারী-কনফিগারযোগ্য পরামিতি

এই ক্ষেত্রগুলি সেই প্যারামিটারগুলিকে সংজ্ঞায়িত করে যা ব্যবহারকারীদের কনফিগার করার জন্য এক্সটেনশন উপলব্ধ করে৷

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      What do you want to set PARAM_ID to?
      This is a longer description of the parameter, often phrased as a prompt
      to the user.
  - param: ANOTHER_PARAM_ID
    label: Short description of the parameter
    description: >
      What do you want to set ANOTHER_PARAM_ID to?
      This is a longer description of the parameter.
    example: example-input
    validationRegex: "^[a-zA-Z][a-zA-Z-]*[a-zA-Z]?$"
    validationErrorMessage:
      Must be a hyphen-delimited string of alphabetic characters
    default: default-value
    required: false
    immutable: true
পরামিতি ক্ষেত্র
param
স্ট্রিং
(প্রয়োজনীয়)
প্যারামিটারের নাম। আপনি কোডে প্যারামিটার মান উল্লেখ করতে এই নামটি ব্যবহার করেন।
label
স্ট্রিং
(প্রয়োজনীয়)
প্যারামিটারের জন্য সংক্ষিপ্ত বিবরণ। যখন ব্যবহারকারীকে প্যারামিটারের মানের জন্য অনুরোধ করা হয় তখন তাদের কাছে প্রদর্শিত হয়।
description
স্ট্রিং
(ঐচ্ছিক)

প্যারামিটারের জন্য বিশদ বিবরণ। যখন ব্যবহারকারীকে প্যারামিটারের মানের জন্য অনুরোধ করা হয় তখন তাদের কাছে প্রদর্শিত হয়।

মার্কডাউন সমর্থন করে।

example
স্ট্রিং
(ঐচ্ছিক)
প্যারামিটারের জন্য উদাহরণ মান।
default
স্ট্রিং
(ঐচ্ছিক)
যদি ব্যবহারকারী প্যারামিটারের মান ফাঁকা রাখে তাহলে প্যারামিটারের জন্য ডিফল্ট মান।
validationRegex
স্ট্রিং
(ঐচ্ছিক)
প্যারামিটারের ব্যবহারকারী-কনফিগার করা মান যাচাই করার জন্য নিয়মিত অভিব্যক্তি। Google RE2 সিনট্যাক্স
validationErrorMessage
স্ট্রিং
(ঐচ্ছিক)
রেজেক্স যাচাইকরণ ব্যর্থ হলে প্রদর্শনের জন্য ত্রুটি বার্তা।
required
বুলিয়ান
(ঐচ্ছিক)
প্যারামিটারের মানের জন্য অনুরোধ করা হলে ব্যবহারকারী একটি খালি স্ট্রিং জমা দিতে পারে কিনা তা নির্ধারণ করে। ডিফল্ট থেকে true
immutable
বুলিয়ান
(ঐচ্ছিক)

ব্যবহারকারী ইনস্টলেশনের পরে প্যারামিটারের মান পরিবর্তন করতে পারে কিনা তা নির্ধারণ করে (যেমন তারা এক্সটেনশনটি পুনরায় কনফিগার করলে)। ডিফল্ট থেকে false

দ্রষ্টব্য: আপনি যদি আপনার এক্সটেনশনের স্থাপন করা ফাংশনগুলির জন্য একটি "অবস্থান" প্যারামিটার সংজ্ঞায়িত করেন, তাহলে এই ক্ষেত্রটিকে true সেট করুন।

type
স্ট্রিং
(ঐচ্ছিক)
পরামিতি প্রকার। বিশেষ পরামিতি প্রকারের অতিরিক্ত প্রয়োজনীয়তা বা ভিন্ন UI উপস্থাপনা থাকতে পারে। নিম্নলিখিত বিভাগ দেখুন.

নির্বাচনযোগ্য এবং বহু-নির্বাচনযোগ্য পরামিতি

নির্বাচনযোগ্য এবং বহু-নির্বাচনযোগ্য পরামিতি ব্যবহারকারীদের পূর্বনির্ধারিত বিকল্পগুলির একটি তালিকা থেকে বেছে নিতে অনুরোধ করে।

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      Do you want to enable the option?
    type: select
    options:
      - label: Yes
        value: true
      - label: No
        value: false
  - param: ANOTHER_PARAM_ID
    label: Short description of the parameter
    description: >-
      Which options do you want to enable?
    type: multiselect
    options:
      - value: red
      - value: green
      - value: blue
একাধিক পছন্দের প্যারামিটার ক্ষেত্র
type
স্ট্রিং

select বা multiselect

সুনির্দিষ্ট করে যে প্যারামিটারটি একটি মান ( select ) বা পূর্বনির্ধারিত পছন্দগুলির একটি সেট থেকে নির্বাচিত একাধিক মান ( multiselect ) হতে পারে

options
বিকল্পের তালিকা
(প্রয়োজনীয়)

যে বিকল্পগুলি থেকে ব্যবহারকারী বেছে নিতে পারেন

বিকল্প ক্ষেত্র
value
স্ট্রিং
(প্রয়োজনীয়)
ব্যবহারকারী পছন্দ করতে পারেন মান এক. আপনি কোডে প্যারামিটার মান পড়ার সময় এই মানটি পাবেন।
label
স্ট্রিং
(ঐচ্ছিক)
নির্বাচনযোগ্য বিকল্পের সংক্ষিপ্ত বিবরণ। যদি বাদ দেওয়া হয়, ডিফল্ট value

নির্বাচনযোগ্য সম্পদ পরামিতি

নির্বাচনযোগ্য রিসোর্স প্যারামিটার ব্যবহারকারীদের তাদের প্রজেক্ট থেকে একটি রিসোর্স (ডাটাবেস ইনস্ট্যান্স, স্টোরেজ বাকেট, ইত্যাদি) নির্বাচন করতে অনুরোধ করে।

params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      Which resource do you want to use?
    type: selectresource
    resourceType: product.googleapis.com/ResourceType
রিসোর্স প্যারামিটার ক্ষেত্র
type
স্ট্রিং

selectresource

নির্দিষ্ট করে যে প্যারামিটারটি একটি প্রকল্পের সংস্থানকে প্রতিনিধিত্ব করে

resourceType
স্ট্রিং
(প্রয়োজনীয়)

ব্যবহারকারীকে নির্বাচন করতে অনুরোধ করার জন্য সম্পদের ধরন।

বৈধ মান:

  • storage.googleapis.com/Bucket
  • firestore.googleapis.com/Database
  • firebasedatabase.googleapis.com/DatabaseInstance

যাইহোক, শুধুমাত্র ক্লাউড স্টোরেজ বালতিতে বর্তমানে একটি নির্বাচন UI রয়েছে (অন্যান্য সংস্থান প্রকারগুলি বিনামূল্যে-ফর্ম পাঠ্য ইনপুট ক্ষেত্র হিসাবে উপস্থাপন করা হয়)।

গোপন পরামিতি

ব্যবহারকারী-প্রদত্ত গোপন মান (যেমন API কী) ভিন্নভাবে পরিচালনা করা হয়:

  • ক্লাউড সিক্রেট ম্যানেজার ব্যবহার করে গোপন মান সংরক্ষণ করা হয়। শুধুমাত্র অনুমোদিত ক্লায়েন্টরা (যেমন একটি এক্সটেনশনের ইনস্টল করা উদাহরণ) এই মানগুলি অ্যাক্সেস করতে পারে।
  • যখন ব্যবহারকারীদের এই মানগুলি প্রদান করার জন্য অনুরোধ করা হয়, তখন তাদের ইনপুট প্রদর্শিত হয় না।
params:
  - param: PARAM_ID
    label: Short description of the parameter
    description: >-
      What is the secret value?
    type: secret
গোপন প্যারামিটার ক্ষেত্র
type
স্ট্রিং

secret

নির্দিষ্ট করে যে প্যারামিটারটি একটি গোপন মান

ক্লাউড ফাংশন সম্পদ

এই ক্ষেত্রগুলি একটি এক্সটেনশনে অন্তর্ভুক্ত ক্লাউড ফাংশনগুলি ঘোষণা করে৷ রিসোর্স ডিক্লেয়ারেশন সিনট্যাক্স 1st-gen এবং 2nd-gen ফাংশনের মধ্যে একটু আলাদা দেখায়, যা একটি এক্সটেনশনে সহাবস্থান করতে পারে।

১ম-জেনার ক্লাউড ফাংশন

resources:
  - name: functionName
    type: firebaseextensions.v1beta.function
    description: >-
      Description of what the function does. (One or two
      sentences.)
    properties:
      runtime: runtime-version
      eventTrigger:
        eventType: google.product.event
        resource: projects/_/resource/specifier
সম্পদ ক্ষেত্র
name
স্ট্রিং
(প্রয়োজনীয়)

রপ্তানিকৃত ফাংশনের জন্য ব্যবহারকারী-বান্ধব নাম।

আপনি যদি entryPoint প্রপার্টি নির্দিষ্ট না করেন (নীচে দেখুন), এই মানটি অবশ্যই আপনার ফাংশন সোর্স কোডের ফাংশনের নামের সাথে মিলবে।

স্থাপন করা ফাংশনের চূড়ান্ত নাম নিম্নলিখিত বিন্যাসে হবে: ext- extension-instance-id - name

type
স্ট্রিং
(প্রয়োজনীয়)
একটি 1st-gen ফাংশন রিসোর্সের জন্য: firebaseextensions.v1beta.function
description
স্ট্রিং
(প্রয়োজনীয়)

এক্সটেনশনের জন্য ফাংশনটি কী কাজ করে তার সংক্ষিপ্ত বিবরণ।

properties
(প্রয়োজনীয়)

1st-gen ক্লাউড ফাংশন বৈশিষ্ট্য. সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি নীচে তালিকাভুক্ত করা হয়েছে, তবে আপনি ক্লাউড ফাংশন রেফারেন্সে সম্পূর্ণ তালিকা খুঁজে পেতে পারেন।

বৈশিষ্ট্য
location
(ঐচ্ছিক)

অবস্থান যেখানে ফাংশন স্থাপন করতে হবে। us-central1

entryPoint
(ঐচ্ছিক)
আপনার ফাংশন সোর্স কোডের মধ্যে রপ্তানিকৃত ফাংশনের নাম যা এক্সটেনশনের সন্ধান করা উচিত। name মান ডিফল্ট, উপরে.
sourceDirectory
(ঐচ্ছিক)

যে ডিরেক্টরিতে আপনার package.json এর রুটে রয়েছে। আপনার ফাংশন সোর্স কোডের জন্য ফাইলটি এই ডিরেক্টরিতে থাকা আবশ্যক। functions ডিফল্ট

দ্রষ্টব্য: package.json এর main ক্ষেত্রটি আপনার ফাংশন সোর্স কোডের জন্য ফাইলটি নির্দিষ্ট করে (যেমন index.js )।

timeout
(ঐচ্ছিক)

ফাংশনের সর্বোচ্চ কার্যকর করার সময়।

  • ডিফল্ট: 60s
  • সর্বোচ্চ মান: 540s
availableMemoryMb
(ঐচ্ছিক)

ফাংশনের জন্য উপলব্ধ মেমরির পরিমাণ এমবি।

  • ডিফল্ট: 256
  • বৈধ মান: 128 , 256 , 512 , 1024 , এবং 2048
runtime
(প্রস্তাবিত)

ফাংশনের জন্য রানটাইম পরিবেশ।

httpsTrigger
বা
eventTrigger
বা
scheduleTrigger
বা
taskQueueTrigger
(এই ফাংশন ট্রিগার প্রকারগুলির মধ্যে একটি প্রয়োজন)
প্রতিটি ট্রিগার প্রকার সম্পর্কে নির্দিষ্ট তথ্যের জন্য একটি এক্সটেনশনের জন্য ক্লাউড ফাংশন লিখুন দেখুন।

২য় প্রজন্মের ক্লাউড ফাংশন

resources:
  - name: functionName
    type: firebaseextensions.v1beta.v2function
    description: >-
      Description of what the function does. (One or two
      sentences.)
    properties:
      buildConfig:
        runtime: nodejs16
      serviceConfig:
        availableMemory: 512M
      eventTrigger:
        eventType: google.firebase.firebasealerts.alerts.v1.published
        triggerRegion: global
        eventFilters:
          - attribute: alerttype
            value: crashlytics.newFatalIssue

সম্পদ ক্ষেত্র
name
স্ট্রিং
(প্রয়োজনীয়)

রপ্তানিকৃত ফাংশনের জন্য ব্যবহারকারী-বান্ধব নাম।

আপনি যদি entryPoint প্রপার্টি নির্দিষ্ট না করেন (নীচে দেখুন), এই মানটি অবশ্যই আপনার ফাংশন সোর্স কোডের ফাংশনের নামের সাথে মিলবে।

স্থাপন করা ফাংশনের চূড়ান্ত নাম নিম্নলিখিত বিন্যাসে হবে: ext- extension-instance-id - name

type
স্ট্রিং
(প্রয়োজনীয়)
একটি 2nd-gen ফাংশন রিসোর্সের জন্য: firebaseextensions.v1beta.v2function
description
স্ট্রিং
(প্রয়োজনীয়)

এক্সটেনশনের জন্য ফাংশনটি কী কাজ করে তার সংক্ষিপ্ত বিবরণ।

properties
(প্রয়োজনীয়)

২য়-জেন ক্লাউড ফাংশন বৈশিষ্ট্য। সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি নীচে তালিকাভুক্ত করা হয়েছে, তবে আপনি ক্লাউড ফাংশন রেফারেন্সে সম্পূর্ণ তালিকা খুঁজে পেতে পারেন।

বৈশিষ্ট্য
location
(ঐচ্ছিক)

অবস্থান যেখানে ফাংশন স্থাপন করতে হবে। us-central1

sourceDirectory
(ঐচ্ছিক)

যে ডিরেক্টরিতে আপনার package.json এর রুটে রয়েছে। আপনার ফাংশন সোর্স কোডের জন্য ফাইলটি এই ডিরেক্টরিতে থাকা আবশ্যক। functions ডিফল্ট

দ্রষ্টব্য: package.json এর main ক্ষেত্রটি আপনার ফাংশন সোর্স কোডের জন্য ফাইলটি নির্দিষ্ট করে (যেমন index.js )।

তাদের নিজস্ব বৈশিষ্ট্য সহ তিনটি অবজেক্ট-টাইপ ক্ষেত্র রয়েছে:

buildConfig বৈশিষ্ট্য
buildConfig.runtime
(প্রস্তাবিত)

ফাংশনের জন্য রানটাইম পরিবেশ।

buildConfig.entryPoint
(ঐচ্ছিক)
আপনার ফাংশন সোর্স কোডের মধ্যে রপ্তানিকৃত ফাংশনের নাম যা এক্সটেনশনের সন্ধান করা উচিত। name মান ডিফল্ট, উপরে.
serviceConfig বৈশিষ্ট্য
serviceConfig.timeoutSeconds
(ঐচ্ছিক)

ফাংশনের সর্বোচ্চ কার্যকর করার সময়।

  • ডিফল্ট: 60
  • সর্বোচ্চ মান: 540
serviceConfig.availableMemory
(ঐচ্ছিক)
একটি ফাংশনের জন্য উপলব্ধ মেমরির পরিমাণ। ডিফল্ট 256M । সমর্থিত ইউনিটগুলি হল k , M , G , Mi , Gi । যদি কোনো ইউনিট সরবরাহ করা না হয়, তাহলে মানটিকে বাইট হিসাবে ব্যাখ্যা করা হয়।
ইভেন্ট ট্রিগার বৈশিষ্ট্য
eventTrigger.eventType
(প্রয়োজনীয়)
শোনার জন্য ইভেন্টের ধরন। প্রতিটি পণ্যের জন্য উপলব্ধ ইভেন্ট প্রকারের জন্য একটি এক্সটেনশনের জন্য ক্লাউড ফাংশন লিখুন দেখুন।
eventTrigger.eventFilters
(ঐচ্ছিক)
ফিল্টার যা শোনার জন্য ইভেন্টগুলিকে আরও সীমাবদ্ধ করে। উদাহরণস্বরূপ, আপনি শুধুমাত্র একটি নির্দিষ্ট সংস্থান প্যাটার্নের সাথে মিলে যাওয়া ইভেন্টগুলি শুনতে পারেন৷ প্রতিটি ধরনের ইভেন্ট ফিল্টার করার তথ্যের জন্য একটি এক্সটেনশনের জন্য ক্লাউড ফাংশন লিখুন দেখুন।
eventTrigger.channel
(ঐচ্ছিক)
projects/{project}/locations/{location}/channels/{channel} ফর্ম্যাটে ট্রিগারের সাথে যুক্ত চ্যানেলের নাম। আপনি যদি এই বৈশিষ্ট্যটি বাদ দেন, ফাংশনটি প্রকল্পের ডিফল্ট চ্যানেলের ইভেন্টগুলির জন্য শুনবে৷
eventTrigger.triggerRegion
(ঐচ্ছিক)
ট্রিগার শুধুমাত্র এই অঞ্চলে উদ্ভূত ইভেন্টগুলি গ্রহণ করবে৷ এটি ফাংশন হিসাবে একই অঞ্চল, একটি ভিন্ন অঞ্চল বা বহু-অঞ্চল, বা বিশ্বব্যাপী অঞ্চল হতে পারে। প্রদান না করা হলে, ফাংশন হিসাবে একই অঞ্চলে ডিফল্ট।

জীবনচক্র ইভেন্ট

লাইফসাইকেল ইভেন্টগুলি আপনাকে ফাংশনগুলি নির্দিষ্ট করতে দেয় যেগুলি যখন কোনও ব্যবহারকারী আপনার এক্সটেনশনের একটি উদাহরণ ইনস্টল, আপডেট বা কনফিগার করে তখন চলবে৷ আপনার এক্সটেনশনের জীবনচক্র ইভেন্টগুলি পরিচালনা করুন দেখুন৷

lifecycleEvents:
  onInstall:
    function: myTaskFunction
    processingMessage: Describes the task being completed
  onUpdate:
    function: myOtherTaskFunction
    processingMessage: Describes the task being completed
  onConfigure:
    function: myOtherTaskFunction
    processingMessage: Describes the task being completed
জীবনচক্র ইভেন্ট ক্ষেত্র
onInstall
(ঐচ্ছিক)

একটি ফাংশন নির্দিষ্ট করে যা চলে যখন একজন ব্যবহারকারী এক্সটেনশন ইনস্টল করে।

ফাংশন স্পেসিফিকেশন
function
স্ট্রিং
(প্রয়োজনীয়)

টাস্ক কিউ-ট্রিগারড ফাংশনের নাম যা ইভেন্ট পরিচালনা করবে।

এই ফাংশন resources বিভাগে ঘোষণা করা আবশ্যক এবং আছে টাস্ক সারি সংজ্ঞায়িত।

processingMessage
স্ট্রিং
(প্রয়োজনীয়)
টাস্কটি চলাকালীন ফায়ারবেস কনসোলে প্রদর্শিত বার্তা।
onUpdate
(ঐচ্ছিক)

একটি ফাংশন নির্দিষ্ট করে যা চলে যখন একজন ব্যবহারকারী এক্সটেনশন আপডেট করে।

ফাংশন স্পেসিফিকেশন
function
স্ট্রিং
(প্রয়োজনীয়)

টাস্ক কিউ-ট্রিগারড ফাংশনের নাম যা ইভেন্ট পরিচালনা করবে।

এই ফাংশন resources বিভাগে ঘোষণা করা আবশ্যক এবং আছে টাস্ক সারি সংজ্ঞায়িত।

processingMessage
স্ট্রিং
(প্রয়োজনীয়)
টাস্কটি চলাকালীন ফায়ারবেস কনসোলে প্রদর্শিত বার্তা।
onConfigure
(ঐচ্ছিক)

একটি ফাংশন নির্দিষ্ট করে যা চলে যখন একজন ব্যবহারকারী এক্সটেনশন পুনরায় কনফিগার করে।

ফাংশন স্পেসিফিকেশন
function
স্ট্রিং
(প্রয়োজনীয়)

টাস্ক কিউ-ট্রিগারড ফাংশনের নাম যা ইভেন্ট পরিচালনা করবে।

এই ফাংশন resources বিভাগে ঘোষণা করা আবশ্যক এবং আছে টাস্ক সারি সংজ্ঞায়িত।

processingMessage
স্ট্রিং
(প্রয়োজনীয়)
টাস্কটি চলাকালীন ফায়ারবেস কনসোলে প্রদর্শিত বার্তা।

কাস্টম ইভেন্ট (Eventarc)

কাস্টম ইভেন্ট হল এমন ইভেন্ট যা আপনার এক্সটেনশন ব্যবহারকারীদেরকে আপনার এক্সটেনশনে তাদের নিজস্ব যুক্তি ঢোকানোর অনুমতি দেয়। একটি এক্সটেনশনে ব্যবহারকারীর হুক যুক্ত করুন- এ Eventarc বিভাগটি দেখুন।

events:
  - type: publisher-id.extension-name.version.event-name
    description: Description of the event
  - type: publisher-id.extension-name.version.another-event-name
    description: Description of the other event
কাস্টম ইভেন্ট ক্ষেত্র
type
স্ট্রিং
(প্রয়োজনীয়)
ইভেন্টের ধরন শনাক্তকারী। 3-4টি ডট-ডিলিমিটেড ক্ষেত্রগুলির মধ্যে শনাক্তকারী তৈরি করুন: প্রকাশক আইডি, এক্সটেনশনের নাম এবং ইভেন্টের নাম ক্ষেত্র প্রয়োজন; সংস্করণ ক্ষেত্র সুপারিশ করা হয়. আপনার প্রকাশ করা প্রতিটি ইভেন্টের জন্য একটি অনন্য এবং বর্ণনামূলক ইভেন্টের নাম চয়ন করুন।
description
স্ট্রিং
(প্রয়োজনীয়)
ঘটনার বিবরণ।