কনফিগারেশন এবং নিরাপত্তা রেফারেন্স

Firebase CLI আপনাকে আপনার Firebase প্রকল্পগুলিকে একটি স্থানীয়, সংস্করণ-নিয়ন্ত্রণযোগ্য প্রকল্প ডিরেক্টরিতে পরিচালনা করতে দেয়। এর মধ্যে রয়েছে আপনার প্রকল্পগুলিতে Data Connect পরিষেবা, সেই পরিষেবাগুলির জন্য সংযোগকারী এবং প্রতিটি সংযোগকারীর জন্য স্কিমা, কোয়েরি এবং মিউটেশন উত্সের মতো সংস্থান। CLI আপনাকে Firebase Data Connect এমুলেটর ইনস্টল এবং পরিচালনা করতে দেয়। CLI হল Firebase কনসোলে কাজ করার একটি কার্যকর বিকল্প।

প্রাইভেট প্রিভিউ প্রোগ্রামের জন্য Firebase সিএলআই পরীক্ষা ইনস্টল করার নির্দেশাবলী এবং Data Connect -সম্পর্কিত সিএলআই কমান্ডের জন্য, সিএলআই রেফারেন্স দেখুন।

এই রেফারেন্স গাইডের নথি:

  • আপনার firebase.json প্রজেক্ট কনফিগারেশন ফাইলে Data Connect - নির্দিষ্ট এন্ট্রি।
  • dataconnect.yaml এবং connector.yamlData Connect কনফিগারেশন।
  • Data Connect ব্যবহার করে এমন আপনার প্রকল্পগুলির জন্য IAM ভূমিকাগুলি কনফিগার করতে হবে।

ফায়ারবেস প্রকল্প কনফিগারেশন ফাইল

firebase.json কনফিগারেশন রেফারেন্স

আপনার প্রকল্পে এক বা একাধিক Data Connect পরিষেবা কনফিগার করতে dataconnect কী ব্যবহার করুন।

dataconnect: {
   source: string // Path to the directory containing the dataconnect.yaml service file.
}

dataconnect.yaml কনফিগারেশন রেফারেন্স

dataconnect.yaml ফাইলটি অ্যাপ্লিকেশন স্কিমা সোর্স, কানেক্টর সোর্স এবং ডেটা সোর্স সংযোগ তথ্যের অবস্থান সম্পর্কে কনফিগারেশন তথ্য সংরক্ষণ করে। ফাইলটি Firebase CLI-এর জন্য একটি প্রকল্প ডিরেক্টরি সিগনিফায়ার হিসেবেও কাজ করে।

schemaValidation কী ডিপ্লয়মেন্টের সময় স্কিমা মাইগ্রেট করার সময় স্কিমা ভ্যালিডেশনের স্তর নিয়ন্ত্রণ করে। কোনও মান সেট না থাকায়, dataconect:sql:migrate কমান্ডের আচরণ হল সামঞ্জস্যপূর্ণ পরিবর্তনগুলি প্রয়োগ করা এবং কোনও কঠোর পরিবর্তন কার্যকর করার আগে আপনাকে প্রম্পট করা। সেট করা হলে, আচরণটি নিম্নরূপ:

  • STRICT মোড। অ্যাপ্লিকেশন স্কিমা স্থাপনের আগে ডাটাবেস স্কিমা অবশ্যই অ্যাপ্লিকেশন স্কিমার সাথে হুবহু মিলতে হবে। আপনার Data Connect স্কিমায় ব্যবহৃত না হওয়া যেকোনো টেবিল বা কলাম ডাটাবেস থেকে মুছে ফেলা হবে।
  • COMPATIBLE মোড। অ্যাপ্লিকেশন স্কিমা স্থাপনের আগে ডাটাবেস স্কিমা অবশ্যই অ্যাপ্লিকেশন স্কিমার সাথে সামঞ্জস্যপূর্ণ হতে হবে; যেকোনো অতিরিক্ত পরিবর্তন ঐচ্ছিক বলে বিবেচিত হবে। সামঞ্জস্যপূর্ণ মানে হল যে স্কিমা মাইগ্রেশনগুলি আপনার লেখা অ্যাপ্লিকেশন স্কিমার উপর ভিত্তি করে। আপনার ডাটাবেসের যে উপাদানগুলি আপনার অ্যাপ্লিকেশন স্কিমা দ্বারা ব্যবহৃত হয় না সেগুলি অপরিবর্তিত থাকে। অতএব, স্থাপনের পরে, আপনার ব্যাকএন্ডে অব্যবহৃত স্কিমা, টেবিল এবং কলাম থাকতে পারে।

এই ফাইলের অন্যান্য কীগুলির মান নীচের মন্তব্যে ব্যাখ্যা করা হয়েছে।

# The top-level Firebase Data Connect YAML file.

# The Firebase Data Connect API version to target.
# Optional. Defaults to the latest version.
specVersion: string

# The ID of the Firebase Data Connect service resource.
# Required.
serviceId: string

# The location of the Firebase Data Connect service.
# Required.
location: string

# Required.
schema:
  # Relative path to directory for schema definitions.
  # Recursively loads all .gql files in this directory.
  # Optional. If not present, defaults to ./schema.
  source: string
  # Datasource connection information.
  # Required.
  datasource:
    # Required.
    postgresql:
      # The name of the PostgreSQL database.
      # Required.
      database: string
      cloudSql:
        # The ID of the CloudSQL instance resource.
        # Required.
        instanceId: string
        # Schema validation mode for schema migrations.
        # Defaults to unspecified/commented out, meaning you are prompted to
        # review all changes during migration.
        # If desired, uncomment and indicate one of "STRICT" or "COMPATIBLE".
        schemaValidation: string

# Required.
# Relative paths to directories for connector definitions.
# Recursively loads all .gql files in the listed directories.
# All directories specified MUST contain a connector.yaml file.
connectorDirs: [string]

YAML ফাইলটি একটি ডিফল্ট (কিন্তু কনফিগারযোগ্য) ডিরেক্টরি কাঠামো ধরে নেয়:

./(project root)
   /dataconnect
      dataconnect.yaml
      /schema
        *.gql
      /connector
        connector.yaml
        *.gql

connector.yaml কনফিগারেশন রেফারেন্স

ডিফল্ট প্রমাণীকরণ মোড এবং SDK জেনারেশন বিকল্পগুলি কনফিগার করতে connector.yaml ব্যবহার করুন।

# The connector-level YAML file.

# Required. The connector name of the Firebase Data Connect connector resource.
connectorId: string

# Optional. If not specified, no generated libraries (i.e. type-safe SDKs) will be generated.
generate:
    # Optional.
    javascriptSdk:
        # Path to the directory that will be updated with the latest generated
        # web SDK.
        # Required.
      - outputDir: string
        # Path to your package.json directory. If specified, the new generated sdk will be installed in this path.
        # Optional. If not provided, the package will not be auto-installed for you.
      - packageJsonDir: string
        # Name of the package to be created.
        # Optional. Defaults to @firebasegen/<connectorID>
      - package: string
        <option>: string
    # Optional.
    swiftSdk:
        # Path to the directory that will be updated with the latest generated
        # iOS Swift SDK.
        # Required.
      - outputDir: string
        # Name of the package to be created.
      - package: string
        <option>: string
    # Optional.
    kotlinSdk:
        # Path to the directory that will be updated with the latest generated
        # Android SDK.
        # Required.
      - outputDir: string
        # Name of the package to be created.
      - package: string
        <option>: string

ডেটা কানেক্ট প্রকল্পের জন্য IAM কনফিগারেশন

Data Connect জন্য গ্রানুলার আইএএম ভূমিকা

ফায়ারবেসের মৌলিক ভূমিকা এবং পূর্বনির্ধারিত ভূমিকা নিম্ন-স্তরের Data Connect ভূমিকার সাথে ম্যাপ করে। ম্যাপিংয়ের জন্য টেবিলটি দেখুন।

Data Connect জন্য পৃথক IAM ভূমিকার অ্যাসাইনমেন্টগুলি আরও সুক্ষ্ম স্তরে পরিচালনা করতে, Google Cloud কনসোল ব্যবহার করুন।

আইএএম ভূমিকা অনুমতিসমূহ
firebasedataconnect.googleapis.com/admin

ফায়ারবেস ডেটা কানেক্ট এপিআই অ্যাডমিন

এই ভূমিকায় Firebase Data Connect API ভিউয়ার অন্তর্ভুক্ত।
এটি firebasedataconnect.*

এটি ক্লাউড মালিক, ক্লাউড সম্পাদক দ্বারা সরবরাহ করা হয়েছে,
ফায়ারবেস অ্যাডমিন এবং ফায়ারবেস অ্যাডমিন ভূমিকা বিকাশ করে।
Firebase Data Connect API রিসোর্সে সম্পূর্ণ অ্যাক্সেস, ডেটা সহ।

firebasedataconnect.googleapis.com/operations.delete
firebasedataconnect.googleapis.com/operations.cancel
firebasedataconnect.googleapis.com/services.create
firebasedataconnect.googleapis.com/services.update
firebasedataconnect.googleapis.com/services.delete
firebasedataconnect.googleapis.com/services.executeGraphql
firebasedataconnect.googleapis.com/services.executeGraphqlRead
firebasedataconnect.googleapis.com/schemas.create
firebasedataconnect.googleapis.com/schemas.update
firebasedataconnect.googleapis.com/schemas.delete
firebasedataconnect.googleapis.com/schemaRevisions.create
firebasedataconnect.googleapis.com/schemaRevisions.delete
firebasedataconnect.googleapis.com/connectors.create
firebasedataconnect.googleapis.com/connectors.update
firebasedataconnect.googleapis.com/connectors.delete
firebasedataconnect.googleapis.com/connectorRevisions.create
firebasedataconnect.googleapis.com/connectorRevisions.delete
firebasedataconnect.googleapis.com/viewer

ফায়ারবেস ডেটা কানেক্ট এপিআই ভিউয়ার

এটি ক্লাউড মালিক, ক্লাউড সম্পাদক দ্বারা সরবরাহ করা হয়েছে,
ক্লাউড ভিউয়ার, ফায়ারবেস অ্যাডমিন, ফায়ারবেস ভিউয়ার,
ফায়ারবেস ডেভেলপ অ্যাডমিন এবং ফায়ারবেস ডেভেলপ ভিউয়ারের ভূমিকা।
Firebase Data Connect API রিসোর্সে কেবল পঠনযোগ্য অ্যাক্সেস। ভূমিকা ডেটা অ্যাক্সেস মঞ্জুর করে না।

cloudresourcemanager.googleapis.com/projects.list
cloudresourcemanager.googleapis.com/projects.get

firebasedataconnect.googleapis.com/operations.list
firebasedataconnect.googleapis.com/operations.get
firebasedataconnect.googleapis.com/locations.list
firebasedataconnect.googleapis.com/locations.get
firebasedataconnect.googleapis.com/services.list
firebasedataconnect.googleapis.com/services.get
firebasedataconnect.googleapis.com/schemas.list
firebasedataconnect.googleapis.com/schemas.get
firebasedataconnect.googleapis.com/schemaRevisions.list
firebasedataconnect.googleapis.com/schemaRevisions.get
firebasedataconnect.googleapis.com/connectors.list
firebasedataconnect.googleapis.com/connectors.get
firebasedataconnect.googleapis.com/connectorRevisions.list
firebasedataconnect.googleapis.com/connectorRevisions.get
firebasedataconnect.googleapis.com/dataAdmin

ফায়ারবেস ডেটা কানেক্ট এপিআই ডেটা অ্যাডমিন

এটি ক্লাউড মালিক, ক্লাউড সম্পাদক দ্বারা সরবরাহ করা হয়েছে,
ফায়ারবেস অ্যাডমিন এবং ফায়ারবেস অ্যাডমিন ভূমিকা বিকাশ করে।
ডেটা উৎসগুলিতে সম্পূর্ণ পঠন এবং লেখার অ্যাক্সেস।

firebasedataconnect.googleapis.com/services.executeGraphql
firebasedataconnect.googleapis.com/services.executeGraphqlRead
firebasedataconnect.googleapis.com/dataViewer

ফায়ারবেস ডেটা কানেক্ট এপিআই ডেটা ভিউয়ার

এটি ক্লাউড মালিক, ক্লাউড সম্পাদক দ্বারা সরবরাহ করা হয়েছে,
ফায়ারবেস অ্যাডমিন এবং ফায়ারবেস অ্যাডমিন ভূমিকা বিকাশ করে।
ডেটা উৎসগুলিতে কেবল পঠনযোগ্য অ্যাক্সেস।

firebasedataconnect.googleapis.com/services.executeGraphqlRead