Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Static Web Apps adatbázis-kapcsolatai különböző Azure-adatbázisokkal működnek.
Amikor egy adatbázist csatlakoztat a statikus webalkalmazáshoz, konfigurálnia kell az adatbázis tűzfalát úgy, hogy a statikus Web Apps-feldolgozók hálózati hozzáférést fogadjanak el azáltal, hogy engedélyezik a hálózati hozzáférést az Azure-erőforrásokból. Adott Static Web Apps IP-címek engedélyezése nem támogatott.
Ha a felügyelt identitás hitelesítési típusát használja, akkor konfigurálnia kell a statikus webalkalmazás felügyelt identitásprofilját az adatbázis eléréséhez.
Ez a táblázat az adatbázis tűzfal- és felügyelt identitáskonfigurációjának részleteit ismerteti.
| Név | Típus | tűzfal | Felügyelt identitás |
|---|---|---|---|
| Azure Cosmos DB | Norma/Szabvány | Tűzfal konfigurálása | Felügyelt identitás konfigurálása |
| Azure SQL | Norma/Szabvány | Tűzfal konfigurálása | Felügyelt identitás konfigurálása |
| Azure Database for MySQL | Telefonzsinór | Tűzfal konfigurálása | Nem támogatott |
| Azure Database for PostgreSQL | Telefonzsinór | Tűzfal konfigurálása | Nem támogatott |
| Azure Database for PostgreSQL (önálló) | Egyszeres | Tűzfal konfigurálása | Felügyelt identitás konfigurálása |
Konfiguráció
A fájlban definiálhatja az adatbázis-kapcsolat futtatókörnyezeti viselkedését staticwebapp.database.config.json . Mielőtt összekapcsol egy adatbázist a statikus webalkalmazással, létre kell hoznia ezt a fájlt az adattárban. Ez a fájl konvenció szerint az adattár gyökerében található swa-db-connections mappában található, de igény szerint áthelyezheti.
A konfigurációs fájl célja:
- Útvonalak leképezése a végpontról az
/data-apiadatbázistáblákra vagy entitásokra - REST- vagy GraphQL-végpontok közzététele (vagy mindkettő)
- Entitásbiztonsági szabályok definiálása
- Fejlesztési konfigurációs beállítások szabályozása
Ha az Azure Cosmos DB-t a GraphQL-vel használja, meg kell adnia egy sémafájlt gqlis.
Feljegyzés
A statikus Web Apps-adatbázis-kapcsolatokhoz a konfigurációs fájlokat tartalmazó mappa szükséges. Ennek a mappának tartalmaznia kell az összes adatbázistípushoz tartozó staticwebapp.database.config.json konfigurációs fájlt. A NoSQL-adatbázisokhoz készült Cosmos DB-hez statikuswebapp.database.schema.gql sémafájl is szükséges.
Ez a mappa konvenció szerint swa-db-connections néven van elnevezve, és az adattár gyökerébe kerül. Ez a konvenció felülírható egy egyéni konfigurációs mappával.
Mintakonfigurációs fájl
Az alábbi mintakonfigurációs fájl bemutatja, hogyan csatlakozhat egy Azure SQL-adatbázishoz, és hogyan teheti elérhetővé a REST- és GraphQL-végpontokat is. A konfigurációs fájl és a támogatott funkciók részletes ismertetését a Data API Builder dokumentációjában találja.
{
"$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"
}
]
}
}
}
| Tulajdonság | Leírás |
|---|---|
$schema |
Az Azure Static Web Apps által a konfigurációs fájl értelmezéséhez használt Database API builder verziója. |
data-source |
A céladatbázisra vonatkozó konfigurációs beállítások. A database-type tulajdonság elfogadja mssql, postgresqlvagy cosmosdb_nosqlmysql.A kapcsolati sztring felülírja az üzembe helyezéskor, amikor egy adatbázis csatlakozik a Static Web Apps-erőforráshoz. A helyi fejlesztés során a konfigurációs fájlban definiált kapcsolati sztring az adatbázishoz való csatlakozáshoz használják. |
runtime |
A közzétett végpontokat meghatározó szakasz. A rest tulajdonságok a graphql megfelelő API-protokoll eléréséhez használt URL-töredéket szabályozzák. A host konfigurációs szakasz a fejlesztési környezetre vonatkozó beállításokat határozza meg. Győződjön meg arról, hogy a origins tömb tartalmazza a localhost-címet és a portot. A host.mode felülíródik, production amikor egy adatbázis csatlakozik a Static Web Apps-erőforráshoz. |
entities |
Az adatbázis-entitások és táblák URL-elérési útját leképező szakasz. Az elérési utak biztonságossá tételéhez használt szerepköralapú hitelesítési szabályok az adatbázis-entitásokat is védik, és az egyes entitások engedélyeinek meghatározására is használhatók. Az entitásobjektum az entitások közötti kapcsolatokat is meghatározza. |
Konfigurációs fájl létrehozása
A Static Web Apps parancssori felületével konfigurációs fájlcsomót hozhat létre.
Fontos
A Static Web Apps cli-ből származó központi telepítések biztonságának javítása érdekében egy olyan kompatibilitástörő változás jelent meg, amely megköveteli, hogy 2025. január 15-ig frissítsen a Static Web Apps CLI legújabb (2.0.2) verziójára.
Használja a swa db init --database-type <YOUR_DATABASE_TYPE> konfigurációs fájl létrehozásához. Alapértelmezés szerint a parancssori felület létrehoz egy új staticwebapp.database.config.json egy swa-db-connections nevű mappában.
A támogatott adatbázistípusok a következők:
mssqlpostgresqlcosmosdb_nosqlmysql
Egyéni konfigurációs mappa
A staticwebapp.database.config.json fájl alapértelmezett mappaneve swa-db-connections. Ha másik mappát szeretne használni, frissítenie kell a munkafolyamat-fájlt, hogy a statikus webalkalmazások futtatókörnyezetében hol találja a konfigurációs fájlt. A data_api_location tulajdonság lehetővé teszi a konfigurációs mappa helyének meghatározását.
Feljegyzés
A staticwebapp.database.config.json fájlt tartalmazó mappának a statikus webalkalmazás-adattár gyökerénél kell lennie.
Az alábbi kód bemutatja, hogyan használhatja a db-config nevű mappát az adatbázis-konfigurációs fájlhoz.
app_location: "/src"
api_location: "api"
output_location: "/dist"
data_api_location: "db-config" # Folder holding the staticwebapp.database.config.json file
Adatbázis-kapcsolat konfigurálása
Az Adatbázis-kapcsolatok működéséhez az Azure Static Web Appsnek hálózati hozzáféréssel kell rendelkeznie az adatbázishoz. Emellett az Azure-adatbázis helyi fejlesztéshez való használatához konfigurálnia kell az adatbázist, hogy engedélyezze a saját IP-címéről érkező kéréseket. Az alábbi általános lépések az összes adatbázisra vonatkoznak. Az adatbázis típusának konkrét lépéseit a fenti hivatkozásokon találja.
- Nyissa meg az adatbázist az Azure Portalon.
- Lépjen a Hálózatkezelés lapra.
- A Tűzfalszabályok szakaszban válassza az Ügyfél IPv4-címének hozzáadása lehetőséget. Ez a lépés biztosítja, hogy ezt az adatbázist a helyi fejlesztéshez használja.
- Jelölje be az Azure-szolgáltatások és -erőforrások hozzáférésének engedélyezése a kiszolgálóhoz jelölőnégyzetet. Ez a lépés biztosítja, hogy az üzembe helyezett Static Web Apps-erőforrás hozzáférhessen az adatbázishoz.
- Válassza a Mentés lehetőséget.
Adatbázis csatlakoztatása
Ha egy adatbázist a statikus webalkalmazáshoz kapcsol, akkor éles kapcsolat jön létre a webhely és az adatbázis között, amikor közzétesszük az Azure-ban.
Nyissa meg statikus webalkalmazását az Azure Portalon.
A Beállítások szakaszban válassza az Adatbázis-kapcsolat lehetőséget.
Az Éles környezet szakaszban válassza a Meglévő adatbázis csatolása hivatkozást.
A Meglévő adatbázis csatolása ablakban adja meg a következő értékeket:
Tulajdonság Érték Adatbázis típusa Válassza ki az adatbázis típusát a legördülő listából. Előfizetés Válassza ki azure-előfizetését a legördülő listából. Erőforrás neve Válassza ki a kívánt adatbázist tartalmazó adatbázis-kiszolgáló nevét. Adatbázis neve Válassza ki a statikus webalkalmazáshoz csatolni kívánt adatbázis nevét. Hitelesítés típusa Válassza ki az adatbázishoz való csatlakozáshoz szükséges kapcsolattípust.
Kapcsolódó tartalom
Adjon hozzá egy adatbázist a statikus webalkalmazáshoz az alábbi adatbázisok egyikével:
Emellett megtudhatja, hogyan használhatja a Data API buildert az Azure Static Web Apps használatával.