Megosztás a következőn keresztül:


Adatbázis-kapcsolat konfigurálása az Azure Static Web Appsben (előzetes verzió)

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-api adatbá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:

  • mssql
  • postgresql
  • cosmosdb_nosql
  • mysql

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.

  1. Nyissa meg statikus webalkalmazását az Azure Portalon.

  2. A Beállítások szakaszban válassza az Adatbázis-kapcsolat lehetőséget.

  3. Az Éles környezet szakaszban válassza a Meglévő adatbázis csatolása hivatkozást.

  4. 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.

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.