Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Kullanımdan kaldırma bildirimi: Statik Web Uygulamaları için Veritabanı Bağlantıları 30 Kasım 2025'te sona eriyor. Şimdi geçiş yaparak kesintiyi önleyin.
Azure Static Web Apps veritabanı bağlantı özelliği, özel sunucu tarafı kodu yazmadan statik web uygulamanızdan bir veritabanına erişmenizi sağlar.
Web uygulamanızla veritabanınız arasında bir bağlantı oluşturduktan sonra CRUD işlemleri, yerleşik yetkilendirme ve ilişkiler için tam destekle verileri işleyebilirsiniz.
Azure Static Web Apps, Veri API'si oluşturucusunu temel alarak REST ve GraphQL isteklerini alır ve bunları veritabanı sorgularına dönüştürür.
Veritabanı bağlantıları tarafından desteklenen özellikler şunlardır:
| Özellik | Description |
|---|---|
| Tümleşik güvenlik | Azure Static Web Apps kimlik doğrulaması ve yetkilendirme güvenlik modeliyle yerleşik tümleştirme. Yolların güvenliğini sağlamak için kullanılan rol tabanlı güvenlik, API uç noktaları için de kullanılabilir. |
| Tam CRUD tabanlı işlemler | Uygulamanızdaki verileri işlemeye ilişkin bir örnek için Azure Cosmos DB, Azure SQL, MySQL veya PostgreSQL öğreticilerine bakın. |
| SQL ve NoSQL'i destekler | uygulamanızın veritabanı olarak ilişkisel ve belge veritabanlarını kullanabilirsiniz. |
| Sunucusuz mimari | Bağlantılar 0'dan 1 çalışana ölçeklendirilir (önizleme sırasında). |
| Veritabanı ilişkileri | Yalnızca GraphQL uç noktası aracılığıyla desteklenir. |
| CLI desteği |
Static Web Apps CLI ile yerel olarak geliştirme. Geliştirme aşamasında veri API'lerine yönelik istekleri bulutta olduğu şekilde işlemek için --data-api-location seçeneğini kullanın. |
Desteklenen veritabanları
Aşağıdaki tabloda farklı ilişkisel ve NoSQL veritabanları için destek gösterilmektedir.
| İsim | Türü | Description | REST | GraphQL |
|---|---|---|---|---|
| Azure Cosmos DB | Standart | Her ölçekte hem NoSQL hem de ilişkisel veritabanları için genel olarak dağıtılmış veritabanı platformu. Standart yapılandırmaya ek olarak, GraphQL uç noktaları için bir gql şema dosyası gerekir. |
✔ | |
| Azure SQL | Standart | Azure bulutunda SQL Server veritabanı altyapısını kullanan yönetilen, güvenli ve akıllı ürünler ailesi. | ✔ | ✔ |
| MySQL için Azure Veritabanı | Flex | MySQL Community Edition tabanlı Microsoft bulutunda ilişkisel veritabanı hizmeti | ✔ | ✔ |
| PostgreSQL için Azure Veritabanı | Flex | Tamamen yönetilen ve görev açısından kritik iş yüklerini tahmin edilebilir performans ve dinamik ölçeklenebilirlikle işleyen PostgreSQL hizmeti olarak veritabanı. | ✔ | ✔ |
| PostgreSQL için Azure Veritabanı (tek) | Single | Tam olarak yönetilen PostgreSQL veritabanı. | ✔ | ✔ |
Veritabanı erişimi için aşağıdaki bağlantı türlerini kullanabilirsiniz:
- Bağlantı dizesi
- Kullanıcı Tarafından Atanan Yönetilen Kimlik
- Sistem tarafından atanan Yönetilen Kimlik
Uç nokta konumu
Veri uç noktalarına erişim yolu dışında /data-api kullanılabilir.
Aşağıdaki tabloda isteklerin statik web uygulamasının farklı bölümlerine nasıl yönlendirilmiş olduğu gösterilmektedir:
| Yol | Description |
|---|---|
example.com/api/* |
API işlevleri |
example.com/data-api/* |
REST ve GraphQL isteklerini destekleyen veritabanı bağlantı uç noktaları. |
example.com/* |
Statik içerik |
Web sitenizde veritabanı bağlantılarını yapılandırırken, /data-api/* yolunun REST veya GraphQL soneki yapılandırılabilir. Ön /data-api ek, Statik Web Uygulamaları'nın bir kuralıdır ve değiştirilemez.
Konfigürasyon
Statik Web Apps'te veritabanı bağlantısını yapılandırmanın iki adımı vardır. Veritabanınızı Azure portalında statik web uygulamanıza bağlamanız ve veritabanı bağlantıları yapılandırma dosyanızı güncelleştirmeniz gerekir.
Daha fazla ayrıntı için bkz. Azure Static Web Apps'te veritabanı bağlantısı yapılandırması .
Yerel geliştirme
Azure Static Web Apps CLI (SWA CLI), yerel geliştirme sırasında veritabanı bağlantılarıyla çalışma desteği içerir.
CLI, yerel /data-api uç noktasını etkinleştirir ve 4280 bağlantı noktasından gelen istekleri veritabanı erişimi için uygun bağlantı noktasına yönlendirir.
SWA CLI'yi veritabanı bağlantısıyla başlatan örnek bir komut aşağıda verilmişti:
swa start ./src --data-api-location swa-db-connections
Bu komut src dizininde SWA CLI'yi başlatır. seçeneği CLI'ya --data-api-locationswa-db-connections adlı bir klasörün staticwebapp.database.config.json dosyasını barındırdığını bildirir.
Uyarı
Geliştirme aşamasında, kimlik doğrulaması için bir bağlantı dizesi kullanıyorsanız, bir ortam değişkenindeki bağlantı dizesini okumak için işlevini kullanın env() . İşleve geçirilen dize, tırnak içine alınarak env fonksiyonuna iletilmelidir.
Rol tabanlı güvenlik
staticwebapp.database.config.json dosyasında bir varlık tanımladığınızda, varlık uç noktasına erişmek için gereken rollerin listesini belirtebilirsiniz.
Aşağıdaki yapılandırma parçası, yönetici rolünün create varlığındaki tüm eylemlere (read, update, delete, ) erişmesini gerektirir.
{
...
"entities": {
"Orders": {
"source": "dbo.Orders",
"permissions": [
{
"actions": ["*"],
"role": "admin"
}
]
}
}
...
}
Rol gerektiren bir uç noktaya çağrı yaptığınızda aşağıdaki koşullar gereklidir:
Geçerli kullanıcının kimliği doğrulanmalıdır.
Geçerli kullanıcı gerekli rolün üyesi olmalıdır.
REST veya GraphQL isteği, anahtar olarak
X-MS-API-ROLEiçeren bir üst bilgi ve varlık yapılandırma kurallarında listelenen rol adının değerini içermelidir.Örneğin, aşağıdaki kod parçacığı bir istek üst bilgisinde yönetici rolünün nasıl geçirileceğini gösterir.
{ method: "POST", headers: { "Content-Type": "application/json", "X-MS-API-ROLE": "admin" }, body: JSON.stringify(requestPayload) }
Constraints
- Veritabanlarına Azure altyapısı tarafından erişilebilir olmalıdır.
- Genel önizleme sırasında veritabanı bağlantıları 0'dan 1 veritabanı çalışanına ölçeklendirilir.