مرجع الأمان والضبط

يتيح لك واجهة سطر الأوامر Firebase إدارة مشاريع Firebase في دليل محلي دليل المشروع القابل للتحكم في الإصدار. يشمل ذلك Data Connect. والخدمات في مشروعاتك والموصلات لتلك الخدمات والموارد، مثل والاستعلام ومصادر التغيير لكل موصل. تتيح لك واجهة برمجة التطبيقات أيضًا تثبيت محاكي Firebase Data Connect وتشغيله. إنّ واجهة برمجة التطبيقات هي بديلاً فعالاً للعمل في وحدة تحكّم Firebase.

للحصول على تعليمات حول تثبيت تجربة Firebase CLI في برنامج المعاينة الخاصة، وأوامر CLI ذات الصلة بـ Data Connect، يُرجى الاطّلاع على مرجع CLI.

يوثّق هذا الدليل المرجعي ما يلي:

  • إدخالات خاصة بخدمة Data Connect في ملف إعدادات مشروع firebase.json
  • Data Connect إعدادًا في dataconnect.yaml connector.yaml
  • أدوار إدارة الهوية وإمكانية الوصول التي ستحتاج إلى ضبطها لمشاريعك التي تستخدم Data Connect.

ملفات إعدادات مشروع Firebase

مرجع إعداد firebase.json

استخدِم مفاتيح dataconnect لضبط خدمة Data Connect واحدة أو أكثر في مشروعك.

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

مرجع إعداد dataconnect.yaml

يخزِّن ملف dataconnect.yaml معلومات الإعدادات المتعلقة بالمواقع الجغرافية. مصادر مخططات التطبيقات ومصادر الموصلات واتصال مصدر البيانات المعلومات. يعمل الملف أيضًا كإشارة إلى دليل المشروع في Firebase CLI.

يتحكّم مفتاح schemaValidation في مستوى التحقّق من المخطط الذي يتم تنفيذه عند نقل المخططات أثناء عملية النشر. في حال عدم ضبط أي قيمة، يكون سلوك الأمر dataconect:sql:migrate هو تطبيق التغييرات المتوافقة وطلب موافقتك قبل تنفيذ أي تغييرات صارمة. عند ضبط الإعداد، يكون السلوك على النحو التالي:

  • وضع STRICT. يجب أن يتطابق مخطط قاعدة البيانات تمامًا مع مخطط التطبيق قبل نشر مخطط التطبيق. سيتم حذف أي tables أو columns غير مستخدَمة في مخطّط 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

استخدِم connector.yaml لضبط وضع المصادقة التلقائي وإنشاء حزمة تطوير البرامج (SDK). الخيارات.

# 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

إعدادات إدارة الهوية وإمكانية الوصول لمشاريع "ربط البيانات"

أدوار إدارة الهوية وإمكانية الوصول الدقيقة لـ Data Connect

يتمّ ربط الأدوار الأساسية والأدوار المحدَّدة مسبقًا في Firebase بالمستوى الأدنى. Data Connect دور. يُرجى الرجوع إلى الجدول لمعرفة عملية الربط.

لإدارة عمليات تعيين الأدوار الفردية لإدارة الهوية وإمكانية الوصول (IAM) في Data Connect على نطاق أوسع مستوى دقيق، استخدِم وحدة تحكّم Google Cloud.

دور "إدارة الهوية وإمكانية الوصول" الأذونات

firebasedataconnect.googleapis.com/admin
مشرف Firebase Data Connect API

يشمل هذا الدور مُشاهد واجهة برمجة التطبيقات Data Connect API في Firebase.
وهي مكافئة firebasedataconnect.*.

يتم توفير هذا من خلال أدوار "مالك السحابة الإلكترونية" و"محرِّر السحابة الإلكترونية"
ومشرف Firebase ومشرف تطوير Firebase.
الوصول الكامل إلى موارد 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
عارِض واجهة برمجة التطبيقات Data Connect في Firebase

يتم توفير ذلك من خلال مالك السحابة الإلكترونية، Cloud Editor،
عارِض السحابة الإلكترونية ومشرف Firebase ومُشاهد Firebase
تطوير أدوار "المشرف" و"المُشاهد" في Firebase ضمن Firebase
إذن بالاطّلاع فقط على موارد واجهة برمجة التطبيقات 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

مشرف بيانات Firebase Data Connect API

يتم توفير هذا الدور من خلال أدوار "مالك السحابة الإلكترونية" و"محرِّر السحابة الإلكترونية" و
"مشرف Firebase" و"مشرف تطوير Firebase".
الإذن بالوصول الكامل للقراءة والكتابة إلى مصادر البيانات

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

firebasedataconnect.googleapis.com/dataViewer
عارِض بيانات واجهة برمجة التطبيقات Data Connect في Firebase

يتم توفير ذلك من خلال مالك السحابة الإلكترونية، Cloud Editor،
إمكانية تطوير أدوار "مشرف Firebase" وFirebase
إذن بالقراءة فقط في الوصول إلى مصادر البيانات

firebasedataconnect.googleapis.com/services.executeGraphqlRead