Azure Static Web Apps'te veritabanı bağlantısı yapılandırması (önizleme)
Azure Statik Web uygulamaları veritabanı bağlantıları çeşitli Azure veritabanlarıyla çalışır.
Bir veritabanını statik web uygulamanıza bağlarken, Azure kaynaklarından ağ erişimine izin vererek veritabanınızın güvenlik duvarını Statik Web Apps çalışanlarından ağ erişimini kabul etmek üzere yapılandırmanız gerekir. Belirli Statik Web Uygulamaları IP adreslerine izin verme desteklenmez.
Yönetilen Kimlik kimlik doğrulama türünü kullanıyorsanız, statik web uygulamanızın Yönetilen Kimlik profilini veritabanınıza erişecek şekilde yapılandırmanız gerekir.
Veritabanınız için güvenlik duvarı ve Yönetilen Kimlik yapılandırması hakkındaki ayrıntılar için bu tabloyu kullanın.
Adı | Tip | Güvenlik Duvarı | Yönetilen Kimlik |
---|---|---|---|
Azure Cosmos DB | Standart | Güvenlik Duvarını yapılandırma | Yönetilen Kimliği Yapılandırma |
Azure SQL | Standart | Güvenlik Duvarını yapılandırma | Yönetilen Kimliği Yapılandırma |
MySQL için Azure Veritabanı | Esneklik | Güvenlik Duvarını yapılandırma | Desteklenmez |
PostgreSQL için Azure Veritabanı | Esneklik | Güvenlik Duvarını yapılandırma | Desteklenmez |
PostgreSQL için Azure Veritabanı (tek) | Tekli | Güvenlik Duvarını yapılandırma | Yönetilen Kimliği Yapılandırma |
Yapılandırma
Dosyada veritabanı bağlantısının staticwebapp.database.config.json
çalışma zamanı davranışını tanımlarsınız. Veritabanını statik web uygulamanıza bağlamadan önce bu dosyayı deponuzda oluşturmanız gerekir. Kural gereği, bu dosya deponuzun kökündeki swa-db-connections klasöründe bulunur, ancak isterseniz dosyayı yeniden yerleştirebilirsiniz.
Yapılandırma dosyasının amacı:
- Uç noktanın
/data-api
yollarını veritabanı tablolarınızla veya varlıklarınızla eşleme - REST veya GraphQL uç noktalarını (veya her ikisini birden) kullanıma sunma
- Varlık güvenlik kurallarını tanımlama
- Geliştirme yapılandırma ayarlarını denetleme
GraphQL ile Azure Cosmos DB kullanıyorsanız bir gql
şema dosyası da sağlamanız gerekir.
Not
Statik Web Apps veritabanı bağlantıları, yapılandırma dosyalarını içeren bir klasör gerektirir. Bu klasör, tüm veritabanı türleri için staticwebapp.database.config.json yapılandırma dosyasını içermelidir. NoSQL veritabanları için Cosmos DB için staticwebapp.database.schema.gql şema dosyası da gereklidir.
Kural gereği, bu klasör swa-db-connections olarak adlandırılır ve deponun köküne yerleştirilir. Bu kural bir custom-configuration-folder ile geçersiz kılınabilir.
Örnek yapılandırma dosyası
Aşağıdaki örnek yapılandırma dosyası, bir Azure SQL veritabanına nasıl bağlanabileceğinizi ve hem REST hem de GraphQL uç noktalarını nasıl kullanıma açabileceğinizi gösterir. Yapılandırma dosyası ve desteklenen özellikleri hakkında tüm ayrıntılar için Data API Builder belgelerine bakın.
{
"$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json",
"data-source": {
"database-type": "mssql",
"options": {
"set-session-context": false
},
"connection-string": "@env('DATABASE_CONNECTION_STRING')"
},
"runtime": {
"rest": {
"enabled": true,
"path": "/rest"
},
"graphql": {
"allow-introspection": true,
"enabled": true,
"path": "/graphql"
},
"host": {
"mode": "production",
"cors": {
"origins": ["http://localhost:4280"],
"allow-credentials": false
},
"authentication": {
"provider": "StaticWebApps"
}
}
},
"entities": {
"Person": {
"source": "dbo.MyTestPersonTable",
"permissions": [
{
"actions": ["create", "read", "update", "delete"],
"role": "anonymous"
}
]
}
}
}
Özellik | Açıklama |
---|---|
$schema |
Azure Static Web Apps tarafından yapılandırma dosyasını yorumlamak için kullanılan Veritabanı API oluşturucusunun sürümü. |
data-source |
Hedef veritabanına özgü yapılandırma ayarları.
database-type özelliği , , postgresql cosmosdb_nosql veya mysql kabul edermssql .Bir veritabanı Statik Web Apps kaynağınıza bağlandığında dağıtım sırasında bağlantı dizesi üzerine yazılır. Yerel geliştirme sırasında, veritabanına bağlanmak için yapılandırma dosyasında tanımlanan bağlantı dizesi kullanılır. |
runtime |
Kullanıma sunulan uç noktaları tanımlayan bölüm. ve graphql özellikleri, rest ilgili API protokolüne erişmek için kullanılan URL parçasını denetler. Yapılandırma host bölümü, geliştirme ortamınıza özgü ayarları tanımlar. Dizinin localhost adresinizi ve bağlantı noktasını içerdiğinden origins emin olun. Bir veritabanı Statik Web Apps kaynağınıza bağlandığında host.mode dosyasının üzerine yazılır production . |
entities |
URL yolunu veritabanı varlıkları ve tablolarına eşleyen bölüm. Yolların güvenliğini sağlamak için kullanılan rol tabanlı kimlik doğrulama kuralları veritabanı varlıklarının güvenliğini de sağlar ve her varlık için izinleri tanımlamak için kullanılabilir. Varlıklar nesnesi, varlıklar arasındaki ilişkileri de belirtir. |
Yapılandırma dosyası oluşturma
Statik Web Apps CLI'sı bir yapılandırma dosyası saptaması oluşturmanıza olanak tanır.
Önemli
Statik Web Uygulamaları CLI'sından dağıtımların güvenliğini artırmak için, 15 Ocak 2025'e kadar Static Web Apps CLI'nın en son sürümüne (2.0.2) yükseltmenizi gerektiren bir hataya neden olan değişiklik kullanıma sunulmuştur.
Bir yapılandırma dosyası oluşturmak için öğesini swa db init --database-type <YOUR_DATABASE_TYPE>
kullanın. Varsayılan olarak, CLI swa-db-connections adlı klasörde yeni bir staticwebapp.database.config.json oluşturur.
Desteklenen veritabanı türleri şunlardır:
mssql
postgresql
cosmosdb_nosql
mysql
Özel yapılandırma klasörü
staticwebapp.database.config.json dosyasının varsayılan klasör adı swa-db-connections'tır. Farklı bir klasör kullanmak isterseniz, statik web uygulamalarına yapılandırma dosyanızı nerede bulacağını bildirmek için iş akışı dosyanızı güncelleştirmeniz gerekir. özelliği, data_api_location
yapılandırma klasörünüzün konumunu tanımlamanızı sağlar.
Not
staticwebapp.database.config.json dosyasını tutan klasör, statik web uygulamaları deponuzun kökünde olmalıdır.
Aşağıdaki kod, veritabanı yapılandırma dosyası için db-config adlı bir klasörün nasıl kullanılacağını gösterir.
app_location: "/src"
api_location: "api"
output_location: "/dist"
data_api_location: "db-config" # Folder holding the staticwebapp.database.config.json file
Veritabanı bağlantısını yapılandırma
Veritabanı bağlantılarının çalışması için Azure Static Web Apps'in veritabanınıza ağ erişimi olmalıdır. Ayrıca, yerel geliştirme için bir Azure veritabanı kullanmak için veritabanınızı kendi IP adresinizden gelen isteklere izin verecek şekilde yapılandırmanız gerekir. Tüm veritabanları için geçerli olan genel adımlar aşağıdadır. Veritabanı türünüzle ilgili belirli adımlar için yukarıdaki bağlantılara bakın.
- Azure portalında veritabanınıza gidin.
- Ağ sekmesine gidin.
- Güvenlik duvarı kuralları bölümünde İstemci IPv4 adresinizi ekle'yi seçin. Bu adım, yerel geliştirmeniz için bu veritabanını kullanabilmenizi sağlar.
- Azure hizmetlerinin ve kaynaklarının bu sunucuya erişmesine izin ver onay kutusunu seçin. Bu adım, dağıtılan Statik Web Uygulamaları kaynağınızın veritabanınıza erişmesini sağlar.
- Kaydet'i seçin.
Veritabanını bağlama
Veritabanını statik web uygulamanıza bağlamak, Azure'da yayımlandığında web siteniz ile veritabanınız arasında üretim bağlantısı kurar.
Statik web uygulamanızı Azure portalında açın.
Ayarlar bölümünde Veritabanı bağlantısı'nı seçin.
Üretim bölümünün altında Var olan veritabanını bağla bağlantısını seçin.
Var olan veritabanını bağla penceresinde aşağıdaki değerleri girin:
Özellik Değer Veritabanı Türü Açılan listeden veritabanı türünüzü seçin. Abonelik Açılan listeden Azure aboneliğinizi seçin. Kaynak Adı İstediğiniz veritabanını içeren veritabanı sunucusu adını seçin. Veritabanı Adı Statik web uygulamanıza bağlamak istediğiniz veritabanının adını seçin. Kimlik Doğrulaması Türü Veritabanınıza bağlanmak için gereken bağlantı türünü seçin.
İlgili içerik
Aşağıdaki veritabanlarından birini kullanarak statik web uygulamanıza veritabanı ekleyin:
Buna ek olarak, Azure Static Web Apps ile Veri API'sinin oluşturucusunu nasıl kullanacağınızı da öğrenebilirsiniz.