إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تسمح لك ميزة اتصال قاعدة بيانات Azure Static Web Apps بالوصول إلى قاعدة بيانات من تطبيق الويب الثابت دون كتابة تعليمات برمجية مخصصة من جانب الخادم.
بمجرد إنشاء اتصال بين تطبيق الويب وقاعدة البيانات، يمكنك معالجة البيانات بدعم كامل لعمليات CRUD والتخويل المضمن والعلاقات.
استنادا إلى منشئ واجهة برمجة تطبيقات البيانات، تأخذ Azure Static Web Apps طلبات REST وGraphQL وتحولها إلى استعلامات قاعدة البيانات.
تتضمن الميزات التي تدعمها اتصالات قاعدة البيانات ما يلي:
| ميزة | الوصف |
|---|---|
| الأمان المتكامل | التكامل المضمن مع مصادقة Azure Static Web Apps ونموذج أمان التخويل. يتوفر نفس الأمان المستند إلى الدور المستخدم لتأمين المسارات لنقاط نهاية واجهة برمجة التطبيقات. |
| العمليات الكاملة المستندة إلى CRUD | راجع البرامج التعليمية ل Azure Cosmos DB أو Azure SQL أو MySQL أو PostgreSQL للحصول على مثال حول كيفية معالجة البيانات في تطبيقك. |
| يدعم SQL و NoSQL | يمكنك استخدام قواعد البيانات الارتباطية وقواعد بيانات المستندات كقاعدة بيانات للتطبيق الخاص بك. |
| بنية بلا خادم | الاتصال التحجيم من 0 إلى عامل واحد (أثناء المعاينة). |
| علاقات قاعدة البيانات | مدعوم فقط عبر نقطة نهاية GraphQL. |
| دعم CLI | التطوير محليا باستخدام Static Web Apps CLI. --data-api-location استخدم الخيار لمعالجة الطلبات إلى واجهات برمجة التطبيقات للبيانات في التطوير تماما كما يتم التعامل معها في السحابة. |
قواعد البيانات المدعومة
يعرض الجدول التالي الدعم لقواعد البيانات العلائقية و NoSQL المختلفة.
| Name | كتابة | الوصف | REST | GraphQL |
|---|---|---|---|---|
| Azure Cosmos DB | قياسي | النظام الأساسي لقاعدة البيانات الموزعة عالميا لكل من NoSQL وقواعد البيانات الارتباطية من أي مقياس. بالإضافة إلى التكوين القياسي، gql مطلوب ملف مخطط لنقاط نهاية GraphQL. |
✔ | |
| عنوان SQL لـ Azure | قياسي | مجموعة من المنتجات المدارة والآمنة والذكية التي تستخدم محرك قاعدة بيانات SQL Server في سحابة Azure. | ✔ | ✔ |
| Azure Database for MySQL | فليكس | خدمة قاعدة البيانات الارتباطية في سحابة Microsoft استنادا إلى MySQL Community Edition | ✔ | ✔ |
| Azure Database for PostgreSQL | فليكس | قاعدة بيانات PostgreSQL المدارة بالكامل كخدمة تتعامل مع أحمال العمل الحرجة للمهام بأداء يمكن التنبؤ به وقابلية التوسع الديناميكية. | ✔ | ✔ |
| قاعدة بيانات Azure ل PostgreSQL (مفرد) | فردي | قاعدة بيانات PostgreSQL المدارة بالكامل. | ✔ | ✔ |
يمكنك استخدام أنواع الاتصال التالية للوصول إلى قاعدة البيانات:
- سلسلة الاتصال
- الهوية المُدارة التي يُعيّنها المستخدم
- الهوية المُدارة التي يُعيّنها النظام
موقع نقطة النهاية
يتوفر الوصول إلى نقاط نهاية البيانات خارج /data-api المسار.
يوضح الجدول التالي كيفية توجيه الطلبات إلى أجزاء مختلفة من تطبيق ويب ثابت:
| المسار | الوصف |
|---|---|
example.com/api/* |
وظائف واجهة برمجة التطبيقات |
example.com/data-api/* |
نقاط نهاية اتصال قاعدة البيانات التي تدعم طلبات REST وGraphQL. |
example.com/* |
المحتوى الثابت |
عند تكوين اتصالات قاعدة البيانات على موقع الويب الخاص بك، يمكنك تكوين لاحقة REST أو GraphQL للمسار /data-api/* . البادئة /data-api هي اصطلاح لتطبيقات الويب الثابتة ولا يمكن تغييرها.
التكوين
هناك خطوتان لتكوين اتصال قاعدة بيانات في Static Web Apps. تحتاج إلى توصيل قاعدة البيانات بتطبيق الويب الثابت في مدخل Microsoft Azure، وتحديث ملف تكوين اتصالات قاعدة البيانات.
راجع تكوين اتصال قاعدة البيانات في Azure Static Web Apps لمزيد من التفاصيل.
التطوير المحلي
يتضمن Azure Static Web Apps CLI (SWA CLI) دعما للعمل مع اتصالات قاعدة البيانات أثناء التطوير المحلي.
يقوم CLI بتنشيط نقطة النهاية المحلية /data-api ، ويوكل الطلبات من المنفذ 4280 إلى المنفذ المناسب للوصول إلى قاعدة البيانات.
فيما يلي مثال على الأمر الذي يبدأ SWA CLI باتصال قاعدة بيانات:
swa start ./src --data-api-location swa-db-connections
يبدأ هذا الأمر SWA CLI في دليل src . --data-api-location يخبر الخيار CLI أن مجلدا يسمى swa-db-connections يحتوي على ملف staticwebapp.database.config.json.
إشعار
في التطوير، إذا كنت تستخدم سلسلة الاتصال للمصادقة، فاستخدم الدالة env() لقراءة سلسلة الاتصال من متغير بيئة. يجب أن تكون السلسلة التي تم تمريرها إلى الدالة env محاطة بعلامات اقتباس.
أمان يستند إلى الدور
عند تعريف كيان في ملف staticwebapp.database.config.json ، يمكنك تحديد قائمة بالأدوار المطلوبة للوصول إلى نقطة نهاية كيان.
يتطلب جزء التكوين التالي دور المسؤول للوصول إلى جميع الإجراءات (create، ، read، update) deleteعلى كيان الطلبات.
{
...
"entities": {
"Orders": {
"source": "dbo.Orders",
"permissions": [
{
"actions": ["*"],
"role": "admin"
}
]
}
}
...
}
عند إجراء مكالمات إلى نقطة نهاية تتطلب دورا، تكون الشروط التالية مطلوبة:
يجب مصادقة المستخدم الحالي.
يجب أن يكون المستخدم الحالي عضوا في الدور المطلوب.
يجب أن يتضمن طلب REST أو GraphQL عنوانا بمفتاح
X-MS-API-ROLEوقيمة اسم الدور الذي يطابق ما هو مدرج في قواعد تكوين الكيان.على سبيل المثال، توضح القصاصة البرمجية التالية كيفية تمرير دور المسؤول في عنوان الطلب.
{ method: "POST", headers: { "Content-Type": "application/json", "X-MS-API-ROLE": "admin" }, body: JSON.stringify(requestPayload) }
القيود
- يجب أن تكون قواعد البيانات قابلة للوصول من خلال البنية الأساسية ل Azure.
- أثناء المعاينة العامة، تتدرج اتصالات قاعدة البيانات من 0 إلى 1 عامل قاعدة بيانات.