واجهة سطر الأوامر Firebase هي أداة تتيح لك إدارة منتجات وخدمات Firebase وضبطها من سطر الأوامر.
توفّر واجهة برمجة التطبيقات (CLI) أوامر يمكن استخدامها لتنفيذ مجموعة متنوعة من مهام Data Connect، مثل إنشاء مشروع Data Connect جديد وإعداد دليل عمل محلي ملائم وإعداد محاكي Data Connect وعرض موارد Data Connect و إنشاء حِزم تطوير البرامج (SDK) للعملاء وغير ذلك.
أوامر الإعداد
إضافة Data Connect إلى مشروع على Firebase
firebase init
استخدِم firebase init
لإعداد إعدادات مشروع محلي جديد. ينشئ سير العمل هذا ملفات إعدادات Firebase أو يعدّلها في directory.
firebase init
ترشدك عملية firebase init
خلال عملية إعداد خدمة وقاعدة بيانات،
وتتيح لك اختياريًا تثبيت محاكي Data Connect و
ضبط حِزم SDK التي تم إنشاؤها.
إعداد الخدمة وقاعدة البيانات
إذا اخترت dataconnect
لإعداد المنتج، سيطلب منك سطر الأوامر CLI اسم
الخدمة وموقعها الجغرافي الجديدَين، وما إذا كنت تريد ربط مثيل Cloud SQL الحالي ل
PostgreSQL أو إنشاء مثيل جديد.
في حال ربط مثيل حالي، تبحث وحدة تحكّم سطر الأوامر عن الإعدادات المتوافقة، مثل مصادقة "إدارة الهوية وإمكانية الوصول" وعناوين IP العامة.
إعداد Local Emulator Suite
يوفّر مسار سطر الأوامر إعداد المحاكيات، بما في ذلك محاكي Data Connect.
Data Connect أوامر المحاكي
ابدأ تشغيل محاكي Data Connect.
emulators:start/exec
firebase emulators:start/exec
استخدِم الإصدار Local Emulator Suite من محاكي Data Connect
في الوضع التفاعلي مع start
أو الوضع غير التفاعلي المستنِد إلى النصوص البرمجية مع
exec
.
أوامر إدارة المخطّط والموصِّل
يحتوي هذا القسم على معلومات مرجعية لواجهة سطر الأوامر عن الأوامر التي تستخدمها لإدارة المخططات وأدوات الربط.
للتعرّف على حالات استخدام طريقة الاستخدام والممارسات المقترَحة المتعلقة بهذه الأوامر، يمكنك الاطّلاع على دليل إدارة المخططات والموصلات.
نشر موارد المخطط والموصّل
تفعيل
firebase deploy
ينشر هذا الأمر موارد لخدمات "ربط البيانات" المفهرَسة في firebase.json. يتم إجراء نقل مخطّط إذا لزم الأمر.
الأمر | الوصف | |
---|---|---|
firebase deploy |
الإبلاغ | الوصف |
–-only dataconnect |
يمكنك نشر المخططات وأدوات الربط لجميع خدمات Data Connect لهذا المشروع، ولكن لا يمكنك نشر موارد منتجات Firebase الأخرى. | |
–-only dataconnect:serviceId |
نشر المخطّط وأدوات الربط لخدمة Data Connect المحدّدة | |
–-only dataconnect:serviceId:connectorId |
يمكنك نشر أداة ربط واحدة لخدمة Data Connect محدّدة. | |
–-only dataconnect:serviceId:schema |
يمكنك نشر المخطّط لخدمة Data Connect المحدّدة. |
باستخدام علامات –-only
، يمكنك تمرير قيم مفصولة بفواصل لنشر أي
مجموعة فرعية من الموارد التي تريدها.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
سرد خدمات Data Connect والمخططات والموصّلات
dataconnect:services:list
firebase dataconnect:services:list
يعرض هذا الأمر معلومات أساسية عن الخدمات والمخططات وأدوات الربط التي تم نشرها في مشروع.
مقارنة مخطّطات SQL ونقلها
dataconnect:sql:diff
firebase dataconnect:sql:diff
يقارن هذا الأمر المخطط المحلي لإحدى الخدمات بالمخطط الحالي لقاعدة بيانات Cloud SQL المقابلة. تُطبع الأوامر التي سيتم تنفيذها لترحيل قاعدة البيانات إلى المخطّط الجديد.
Command | الوصف | |
---|---|---|
firebase dataconnect:sql:diff |
العلامة/المَعلمة | الوصف |
serviceId |
حدِّد الخدمة. إذا تم حذفها، اطبع الفرق لجميع الخدمات في firebase.json. |
dataconnect:sql:migrate
firebase dataconnect:sql:migrate
يطبّق هذا الأمر تغييرات المخطّط المحلي على قاعدة بيانات Cloud SQL لخدمة معيّنة.
عند إعداد مشروع Data Connect محلي جديد باستخدام ملف dataconnect.yaml
التلقائي، يكون سلوك الأمر dataconect:sql:migrate
هو مطالبتك بأي تغييرات مطلوبة، ثم طلب أي تغييرات اختيارية قبل تنفيذ التغييرات. يمكنك تعديل هذا السلوك لتضمين التغييرات الاختيارية أو تجاهلها دائمًا من خلال تعديل إعدادات dataconnect.yaml
، كما هو موضّح في مقالة نقل مخطّط في الوضع الصارم أو المتوافق.
في البيئات التفاعلية، يعرض واجهة سطر الأوامر كل عبارة SQL لنقل البيانات
(وما إذا كانت مدمرة) وتطلب منك إجراء التغييرات التي تريد تطبيقها.
إنّ ضبط العلامة --force
يعادل قبول جميع الطلبات.
في البيئات غير التفاعلية:
- بدون
--force
، يتم إجراء تغييرات غير مدمرة فقط. في حال حدوث تغييرات مدمرة، يتم إيقاف وحدة التحكم في واجهة المستخدم بدون إجراء أي تغييرات. - مع
--force
، يتم إجراء جميع التغييرات. إذا تضمّن ذلك أي تغييرات تسبب ضررًا، فستتم طباعتها وسيُطلب منك ما إذا كنت تريد المتابعة، ما لم يتم تقديم العلامة--force
.
Command | الوصف | |
---|---|---|
firebase dataconnect:sql:migrate |
الإبلاغ | الوصف |
serviceId |
نقل قاعدة البيانات للخدمة المحدّدة. يتم تحديد serviceId بشكلٍ افتراضي إذا كان مشروعك يتضمّن خدمة واحدة فقط. | |
–-force |
قبول الطلبات تلقائيًا |
كما هو الحال مع علامات --only
الأخرى، يمكنك تقديم خدمات متعددة مفصولة بفواصل.
نقل مخطّط في الوضع الصارم أو المتوافق
Data Connect تتضمّن عمليات نقل المخططات وضعَين مختلفَين للتحقّق من صحة المخطط: صارم ومتوافق. يتطلب التحقّق من الصحة في الوضع الصارم أن يتطابق مخطّط قاعدة بيانات تمامًا مع مخطّط التطبيق قبل أن يتم نشر مخطّط التطبيق. يتطلّب التحقّق من توافق الوضع أن يكون مخطّط قاعدة بيانات متوافقًا مع مخطّط التطبيق، ما يعني أنّه لا يتم تعديل العناصر في قاعدة بياناتك التي لا يستخدمها مخطّط تطبيقك.
يمكنك الاطّلاع على أوضاع التحقّق من المخطّط وأفضل الممارسات لنقل المخطّط في دليل إدارة المخطّط والرابط.
يتم تحديد وضع التحقّق من الصحة باستخدام مفتاح schemaValidation
في ملف
dataconnect.yaml
. إذا لم يتم تحديد schemaValidation
، تطبِّق وحدة تحكّم سطر الأوامر
التغييرات المتوافقة وتسألك قبل تنفيذ أي تغييرات صارمة. اطّلِع على مرجع الضبط.
أوامر حزمة تطوير البرامج (SDK)
إنشاء حِزم SDK
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
ينشئ هذا الأمر حِزم SDK المكتوبة في connector.yaml.
اطّلِع أيضًا على أدلة العمل مع حِزم تطوير البرامج (SDK) للويب، وحِزم تطوير البرامج (SDK) لنظام التشغيل Android وحِزم تطوير البرامج (SDK) لنظام التشغيل iOS.
Command | الوصف | |
---|---|---|
firebase dataconnect:sdk:generate |
الإبلاغ | الوصف |
–-watch |
يحافظ على استمرار العملية وينشئ حِزم تطوير برامج جديدة كلما حفظت
تغييرات على ملفات مخطط GQL وملفّات الموصّل. في حال تعذّر إنشاء الرمز، ستتم طباعة الأخطاء في stdout، ولن يتم تغيير الرمز الذي تم إنشاؤه، وسيستمر تنفيذ الأمر. |
|
–-only connectorId:platform |
لا تُنشئ حِزم تطوير البرامج إلا لمنصّة واحدة وموصّل واحد. |
باستخدام علامات –only
، يمكنك تمرير قيم مفصولة بفواصل.
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
أوامر إدارة Cloud SQL
منح أدوار SQL في Cloud SQL
dataconnect:sql:grant
firebase dataconnect:sql:grant
يعمل Data Connect على مثيل PostgreSQL الخاص بك المستضاف على Cloud SQL. في بعض الحالات، قد تحتاج إلى الوصول إلى قاعدة بياناتك مباشرةً للاستعلام عن البيانات التي أنشأتها تطبيقات Data Connect أو تعديلها. للقيام بذلك، يجب منح أحد الأدوار المحدّدة في هذا القسم للمستخدم أو حساب الخدمة المطلوبَين.
لمعرفة تفاصيل الأدوار الممنوحة، يُرجى الاطّلاع على أدوار مستخدمي PostgreSQL.
الدور | دور SQL | الأذونات | الاستخدام | قابل للمنح |
---|---|---|---|---|
قارئ | firebasereader_<db_name>_<schema_name> |
إذن بالقراءة فقط إلى قاعدة البيانات. يمكنه تنفيذ عمليات SELECT على جميع الجداول ضمن المخطط المحدّد. |
وهو مثالي للمستخدمين أو الخدمات التي تتطلّب استرداد البيانات وليس تعديلها. | نعم |
كاتب | firebasewriter_<db_name>_<schema_name> |
الإذن بالقراءة والكتابة في قاعدة البيانات يمكنه تنفيذ عمليات SELECT وINSERT وUPDATE وDELETE وTRUNCATE على جميع الجداول ضمن المخطّط. |
مناسبة للمستخدمين أو الخدمات التي تحتاج إلى تعديل البيانات داخل قاعدة البيانات | نعم |
المالك | firebaseowner_<db_name>_<schema_name> |
مالك المخطط. لديه جميع الامتيازات على جميع الجداول والتسلسلات في المخطّط. |
يمنح هذا الدور، بالإضافة إلى دور roles/cloudsql.client في إدارة الهوية وإمكانية الوصول، الإذن بتنفيذ عملية نقل البيانات في قاعدة البيانات. على سبيل المثال، عند الاتصال بالرقم firebase dataconnect:sql:migrate . |
نعم |
مستخدم مميز | cloudsqlsuperuser |
دور مستخدِم متميّز مضمّن مع امتيازات كاملة في قاعدة البيانات بالإضافة إلى أذونات المالك، يمكنه إنشاء مخطّطات وإلغاء مخطّطات وتثبيت إضافات وتنفيذ أي مهام إدارية أخرى. يتم الوصول إلى واجهة سطر الأوامر من خلال تسجيل الدخول باسم "firebasesuperuser". |
هذا الحقل مطلوب لتثبيت الإضافات وإنشاء المخطط الأولي ومنح أي من أدوار SQL (لغة الاستعلام البنيوية) للمستخدمين الآخرين. إذا احتاج مستخدم غير مشرف إلى امتيازات المستخدم المميّز، لن تنجح عملية نقل البيانات وستطلب من المستخدم أن يطلب من مشرف قاعدة البيانات (أي مستخدم لديه roles/cloudsql.admin ) تنفيذ أوامر SQL المميّزة. |
تم منح هذا الإذن للمستخدمين الذين لديهم roles/cloudsql.admin ولا يمكن منحهم مباشرةً من Firebase CLI |
الأمر | الوصف | |
---|---|---|
firebase dataconnect:sql:grant |
العلامة/المَعلمة | الوصف |
-R أو --role role |
دور SQL المطلوب منحه، وهو أحد الأدوار التالية: مالك أو كاتب أو قارئ | |
-E, --email email_address |
عنوان بريد إلكتروني لمستخدم أو حساب خدمة لمنح الدور إليه |
الخيارات العامة
تنطبق الخيارات العامة التالية على جميع الأوامر:
- تحوِّل
--json
إخراج سطر الأوامر إلى تنسيق JSON لتحليله بواسطة أدوات أخرى. - تلغي
--noninteractive
و--interactive
، حسب الحاجة، التعرّف التلقائي على البيئات غير المزوّدة بجهاز TTY.