Rövid útmutató: RESTful API-alkalmazás üzembe helyezése az Azure Spring Appsben
Feljegyzés
Az első 50 vCPU óra és 100 GB memória minden hónapban ingyenes. További információ: Árcsökkentés – Az Azure Spring Apps többet tesz, kevesebbe kerül! az Azure Blog alkalmazásaiban.
Feljegyzés
Az Azure Spring Apps az Azure Spring Cloud szolgáltatás új neve. Bár a szolgáltatásnak új neve van, bizonyos helyeken a régi nevet fogja látni egy darabig, miközben az eszközök, például képernyőképek, videók és diagramok frissítésével dolgozunk.
Ez a cikk bemutatja, hogyan helyezhet üzembe egy Microsoft Entra ID által védett RESTful API-alkalmazást az Azure Spring Appsben. A mintaprojekt a Simple Todo webalkalmazáson alapuló egyszerűsített verzió, amely csak a háttérszolgáltatást biztosítja, és a RESTful API-k védelméhez a Microsoft Entra ID-t használja.
Ezek a RESTful API-k szerepköralapú hozzáférés-vezérlés (RBAC) alkalmazásával védve vannak. A névtelen felhasználók nem férhetnek hozzá semmilyen adathoz, és nem szabályozhatják a különböző felhasználók hozzáférését. A névtelen felhasználók csak a következő három engedéllyel rendelkeznek:
- Olvasás: Ezzel az engedéllyel a felhasználó elolvashatja a ToDo-adatokat.
- Írás: Ezzel az engedéllyel a felhasználó hozzáadhatja vagy frissítheti a ToDo-adatokat.
- Törlés: Ezzel az engedéllyel a felhasználó törölheti a ToDo-adatokat.
Az üzembe helyezés sikeres befejezése után megtekintheti és tesztelheti az API-kat a Swagger felhasználói felületén keresztül.
Az alábbi ábra a rendszer architektúráját mutatja be:
Ez a cikk az alábbi lehetőségeket ismerteti az erőforrások létrehozásához és az Azure Spring Appsben való üzembe helyezéséhez:
- Az Azure Portal + Maven beépülő modullal hagyományosabb módon hozhat létre erőforrásokat, és lépésről lépésre üzembe helyezheti az alkalmazásokat. Ez a lehetőség az Azure-felhőszolgáltatásokat első alkalommal használó Spring-fejlesztők számára ajánlott.
- Az Azure Developer CLI-lehetőség hatékonyabb módszer az erőforrások automatikus létrehozására és alkalmazások egyszerű parancsokkal történő üzembe helyezésére. Az Azure Developer CLI sablonnal építi ki a szükséges Azure-erőforrásokat, és üzembe helyezi az alkalmazáskódot. Ez a lehetőség olyan Spring-fejlesztőknek ajánlott, akik ismerik az Azure-felhőszolgáltatásokat.
Ez a cikk az alábbi lehetőségeket ismerteti az erőforrások létrehozásához és az Azure Spring Appsben való üzembe helyezéséhez:
- Az Azure Portal + Maven beépülő modullal hagyományosabb módon hozhat létre erőforrásokat, és lépésről lépésre üzembe helyezheti az alkalmazásokat. Ez a lehetőség az Azure-felhőszolgáltatásokat első alkalommal használó Spring-fejlesztők számára ajánlott.
- Az Azure CLI-beállítás egy hatékony parancssori eszközt használ az Azure-erőforrások kezeléséhez. Ez a lehetőség olyan Spring-fejlesztőknek ajánlott, akik ismerik az Azure-felhőszolgáltatásokat.
1. Előfeltételek
Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, a kezdés előtt hozzon létre egy ingyenes Azure-fiókot .
Az alábbi szerepkörök egyike:
- Globális rendszergazda vagy Kiemelt szerepkörű rendszergazda, hozzájárulás megadásához, ha egy alkalmazás bármilyen engedélyt kér bármilyen API-hoz.
- Cloud Application Rendszergazda istrator vagy Application Rendszergazda istrator, a Microsoft Graph-alkalmazásszerepkörök (alkalmazásengedélyek) kivételével, hozzájárulás megadásához bármely API-hoz engedélyt kérő alkalmazásokhoz.
- Egy egyéni címtárszerepkör, amely tartalmazza az alkalmazások engedélyeinek megadására vonatkozó engedélyt az alkalmazás által igényelt engedélyekhez.
További információ: Bérlőszintű rendszergazdai hozzájárulás megadása egy alkalmazáshoz.
Ha első alkalommal helyez üzembe Azure Spring Apps Enterprise-csomagpéldányt a célelőfizetésben, tekintse meg a Nagyvállalati csomag Követelményei szakaszát az Azure Marketplace-en.
Git.
Java Development Kit (JDK) 17-es verzió.
Egy Microsoft Entra-bérlő. A létrehozással kapcsolatos utasításokért tekintse meg a rövid útmutatót: Új bérlő létrehozása a Microsoft Entra-azonosítóban.
Azure-előfizetés, Ha nem rendelkezik Azure-előfizetéssel, a kezdés előtt hozzon létre egy ingyenes Azure-fiókot .
Az alábbi szerepkörök egyike:
- Globális rendszergazda vagy Kiemelt szerepkörű rendszergazda, hozzájárulás megadásához, ha egy alkalmazás bármilyen engedélyt kér bármilyen API-hoz.
- Cloud Application Rendszergazda istrator vagy Application Rendszergazda istrator, a Microsoft Graph-alkalmazásszerepkörök (alkalmazásengedélyek) kivételével, hozzájárulás megadásához bármely API-hoz engedélyt kérő alkalmazásokhoz.
- Egy egyéni címtárszerepkör, amely tartalmazza az alkalmazások engedélyeinek megadására vonatkozó engedélyt az alkalmazás által igényelt engedélyekhez.
További információ: Bérlőszintű rendszergazdai hozzájárulás megadása egy alkalmazáshoz.
Git.
Java Development Kit (JDK) 17-es verzió.
Egy Microsoft Entra-bérlő. A létrehozással kapcsolatos utasításokért tekintse meg a rövid útmutatót: Új bérlő létrehozása a Microsoft Entra-azonosítóban.
2. A Spring projekt előkészítése
A RESTful API-alkalmazás üzembe helyezéséhez az első lépés a Spring-projekt helyi futtatásának előkészítése.
Az alkalmazás helyi klónozásához és futtatásához kövesse az alábbi lépéseket:
Az alábbi paranccsal klónozza a mintaprojektet a GitHubról:
git clone https://github.com/Azure-Samples/ASA-Samples-Restful-Application.git
Ha helyileg szeretné futtatni az alkalmazást, hajtsa végre a RESTful API-k közzététele és az alkalmazáskonfigurációs szakaszok frissítése című szakasz lépéseit, majd a következő paranccsal futtassa a mintaalkalmazást a Mavennel:
cd ASA-Samples-Restful-Application ./mvnw spring-boot:run
3. A felhőkörnyezet előkészítése
A mintaalkalmazás futtatásához szükséges fő erőforrások egy Azure Spring Apps-példány és egy Azure Database for PostgreSQL-példány. A következő szakaszok ismertetik, hogyan hozhatja létre ezeket az erőforrásokat.
3.1. Jelentkezzen be az Azure Portalra
Lépjen az Azure Portalra , és adja meg a hitelesítő adatait a portálra való bejelentkezéshez. Az alapértelmezett nézet a szolgáltatási irányítópult.
3.2. Azure Spring Apps-példány létrehozása
Azure Spring Apps-szolgáltatáspéldány létrehozásához kövesse az alábbi lépéseket:
Válassza az Erőforrás létrehozása lehetőséget az Azure Portal sarkában.
Válassza a Compute>Azure Spring Apps lehetőséget.
Töltse ki az Alapismeretek űrlapot a következő információkkal:
A kiválasztások áttekintéséhez válassza a Véleményezés és létrehozás lehetőséget. Ezután válassza a Létrehozás lehetőséget az Azure Spring Apps-példány kiépítéséhez.
Az eszköztáron válassza az Értesítések ikont (csengő) az üzembehelyezési folyamat megfigyeléséhez. Az üzembe helyezés befejezése után kiválaszthatja a Rögzítés az irányítópulton lehetőséget, amely létrehoz egy csempét ehhez a szolgáltatáshoz az Azure Portal irányítópultján a szolgáltatás áttekintési oldalának parancsikonjaként.
Válassza az Erőforrás megnyitása lehetőséget az Azure Spring Apps áttekintési oldalának megnyitásához .
3.3. A PostgreSQL-példány előkészítése
Az alábbi lépésekkel hozzon létre egy Azure Database for PostgreSQL-kiszolgálót:
Nyissa meg az Azure Portalt, és válassza az Erőforrás létrehozása lehetőséget.
Válassza az Adatbázisok>Azure Database for PostgreSQL lehetőséget.
Válassza a rugalmas kiszolgálótelepítési lehetőséget.
Töltse ki az Alapismeretek lapot a következő információkkal:
- Kiszolgáló neve: my-demo-pgsql
- Régió: USA keleti régiója
- PostgreSQL-verzió: 14
- Számítási feladat típusa: Fejlesztés
- Magas rendelkezésre állás engedélyezése: nincs kiválasztva
- Hitelesítési módszer: Csak PostgreSQL-hitelesítés
- Rendszergazda felhasználónév: myadmin
- Jelszó és jelszó megerősítése: Adjon meg egy jelszót.
A Hálózatkezelés lap konfigurálásához használja az alábbi információkat:
- Csatlakozás ivity metódus: Nyilvános hozzáférés (engedélyezett IP-címek)
- Nyilvános hozzáférés engedélyezése bármely Azure-szolgáltatásból ehhez a kiszolgálóhoz: kiválasztva
A kiválasztások áttekintéséhez válassza a Véleményezés + létrehozás lehetőséget, majd a Kiszolgáló kiépítéséhez válassza a Létrehozás lehetőséget . Ez a művelet eltarthat néhány percig.
Nyissa meg a PostgreSQL-kiszolgálót az Azure Portalon. Az Áttekintés lapon keresse meg a kiszolgálónév értékét, majd jegyezze fel későbbi használatra. Ehhez konfigurálnia kell az alkalmazás környezeti változóit az Azure Spring Appsben.
Adatbázis létrehozásához válassza az Adatbázisok lehetőséget a navigációs menüből – például teendő.
3.4. alkalmazáspéldány Csatlakozás PostgreSQL-példányba
A szolgáltatáspéldányok csatlakoztatásához kövesse az alábbi lépéseket:
Nyissa meg az Azure Spring Apps-példányt az Azure Portalon.
A navigációs menüben nyissa meg az Alkalmazások elemet, majd válassza az Alkalmazás létrehozása lehetőséget.
Az Alkalmazás létrehozása lapon adja meg a simple-todo-api alkalmazásnevet, majd válassza ki a Java-összetevőket üzembehelyezési típusként.
Válassza a Létrehozás lehetőséget az alkalmazás létrehozásának befejezéséhez, majd válassza ki az alkalmazást a részletek megtekintéséhez.
Nyissa meg az Azure Portalon létrehozott alkalmazást. Az Áttekintés lapon válassza a Végpont hozzárendelése lehetőséget az alkalmazás nyilvános végpontjának közzétételéhez. Mentse az URL-címet az alkalmazás eléréséhez az üzembe helyezés után.
Válassza a Szolgáltatás Csatlakozás or lehetőséget a navigációs panelen, majd válassza a Létrehozás lehetőséget egy új szolgáltatáskapcsolat létrehozásához.
Töltse ki az Alapismeretek lapot a következő információkkal:
- Szolgáltatás típusa: rugalmas PostgreSQL-kiszolgáló adatbázisa
- Csatlakozás ion név: A rendszer automatikusan generált nevet tölt fel, amely szintén módosítható.
- Előfizetés: Válassza ki az előfizetését.
- Rugalmas PostgreSQL-kiszolgáló: my-demo-pgsql
- PostgreSQL-adatbázis: Válassza ki a létrehozott adatbázist.
- Ügyfél típusa: SpringBoot
Konfigurálja a Következő: Hitelesítés lapot a következő információkkal:
- Válassza ki a számítási szolgáltatás és a célszolgáltatás között használni kívánt hitelesítési típust. Válassza Csatlakozás ion sztringet.
- Folytatás...: Adatbázis hitelesítő adatainak kiválasztása
- Felhasználónév: myadmin
- Jelszó: Adja meg a jelszavát.
Válassza a Tovább: Hálózatkezelés lehetőséget. A célszolgáltatáshoz való hozzáférés engedélyezéséhez használja az alapértelmezett tűzfalszabályok konfigurálása lehetőséget.
Válassza a Tovább elemet : Tekintse át a kijelöléseket, majd válassza a Létrehozás lehetőséget a kapcsolat létrehozásához.
3.5. RESTful API-k elérhetővé tétele
A RESTful API-k a Microsoft Entra-azonosítóban való közzétételéhez kövesse az alábbi lépéseket:
Jelentkezzen be az Azure Portalra.
Ha több bérlőhöz van hozzáférése, a Címtár + előfizetés szűrővel (
) válassza ki azt a bérlőt, amelyben regisztrálni szeretne egy alkalmazást.
Keresse meg és válassza ki a Microsoft Entra ID-t.
A Kezelés területen válassza a Alkalmazásregisztrációk> New regisztráció lehetőséget.
Adja meg az alkalmazás nevét a Név mezőben – például Todo. Előfordulhat, hogy az alkalmazás felhasználói látják ezt a nevet, és később módosíthatja.
Támogatott fióktípusok esetén válassza a Bármely szervezeti könyvtárban (Bármely Microsoft Entra könyvtár – Több-bérlős) és a személyes Microsoft-fiókokban lévő Fiókok lehetőséget.
Válassza a Regisztráció elemet az alkalmazás létrehozásához.
Az Alkalmazás áttekintése lapon keresse meg az alkalmazás (ügyfél) azonosítójának értékét, majd jegyezze fel későbbi használatra. A projekt YAML-konfigurációs fájljának konfigurálásához szükség van rá.
A Kezelés területen válassza az API-k felfedése lehetőséget, keresse meg az alkalmazásazonosító URI-ját a lap elején, majd válassza a Hozzáadás lehetőséget.
Az alkalmazásazonosító URI-jának szerkesztése lapon fogadja el a javasolt alkalmazásazonosító URI-ját (
api://{client ID}
), vagy használjon az ügyfélazonosító helyett egy értelmes nevet, példáulapi://simple-todo
, majd válassza a Mentés lehetőséget.A Kezelés csoportban válassza az API-k>hatókör hozzáadása lehetőséget, majd adja meg a következő adatokat:
- A Hatókör neve mezőbe írja be a ToDo.Read nevet.
- A Ki tud hozzájárulni, csak a Rendszergazda válassza ki.
- Ha Rendszergazda hozzájárulás megjelenítendő nevét szeretné megadni, írja be a ToDo-adatok olvasását.
- A Rendszergazda hozzájárulás leírásához írja be a Hitelesített felhasználók számára a ToDo-adatok olvasását.
- Állapot esetén hagyja engedélyezve.
- Válassza a Hatókör hozzáadása lehetőséget.
Ismételje meg az előző lépéseket a másik két hatókör hozzáadásához: ToDo.Write és ToDo.Delete.
3.6. Az alkalmazáskonfiguráció frissítése
Az alábbi lépésekkel frissítheti a YAML-fájlt a Microsoft Entra által regisztrált alkalmazásadatok használatával a RESTful API-alkalmazással való kapcsolat létesítéséhez:
Keresse meg az alkalmazás src/main/resources/application.yml fájlját
simple-todo-api
. Frissítse a szakasz konfigurációját azspring.cloud.azure.active-directory
alábbi példának megfelelően. Mindenképpen cserélje le a helyőrzőket a korábban létrehozott értékekre.spring: cloud: azure: active-directory: profile: tenant-id: <tenant> credential: client-id: <your-application-ID-of-ToDo> app-id-uri: <your-application-ID-URI-of-ToDo>
Feljegyzés
Az 1.0-s verziójú jogkivonatok esetében a konfigurációhoz az API ügyfél-azonosítója szükséges, míg a 2.0-s verziójú jogkivonatokban használhatja az ügyfél-azonosítót vagy az alkalmazásazonosító URI-ját a kérelemben. Mindkettőt konfigurálhatja úgy, hogy megfelelően végezze el a célközönség érvényesítését.
Az engedélyezett
tenant-id
értékek a következők:common
,organizations
,consumers
vagy a bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásával kapcsolatos információkért lásd : Egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosítón.A mintaprojekt újraépítéséhez használja a következő parancsot:
./mvnw clean package
4. Az alkalmazás üzembe helyezése az Azure Spring Appsben
Most már üzembe helyezheti az alkalmazást az Azure Spring Appsben.
Az Azure Spring Apps Maven beépülő moduljának üzembe helyezéséhez kövesse az alábbi lépéseket:
Lépjen a teljes könyvtárra, majd futtassa a következő parancsot az alkalmazás Azure Spring Appsben való konfigurálásához:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
Az alábbi lista a parancsok interakcióit ismerteti:
- OAuth2-bejelentkezés: Engedélyeznie kell a bejelentkezést az Azure-ba az OAuth2 protokoll alapján.
- Előfizetés kiválasztása: Válassza ki a létrehozott Azure Spring Apps-példány előfizetési listájának számát, amely alapértelmezés szerint a lista első előfizetése. Ha az alapértelmezett számot használja, nyomja le közvetlenül az Enter billentyűt .
- Meglévő Azure Spring Apps használata az Azure-ban: Nyomja le az y billentyűt a meglévő Azure Spring Apps-példány használatához.
- Válassza ki az Üzembe helyezéshez az Azure Spring Appst: Válassza ki a létrehozott Azure Spring Apps-példány számát. Ha az alapértelmezett számot használja, nyomja le közvetlenül az Enter billentyűt .
- Használja a meglévő alkalmazást az Azure Spring Appsben <a példánynévvel>: Nyomja le az y billentyűt a létrehozott alkalmazás használatához.
- Ellenőrizze, hogy menti-e a fenti konfigurációkat: Nyomja le az y billentyűt. Ha az n billentyűt lenyomja, a konfiguráció nem lesz mentve a POM-fájlokba.
Az alkalmazás üzembe helyezéséhez használja a következő parancsot:
./mvnw azure-spring-apps:deploy
Az alábbi lista a parancsok közötti interakciót ismerteti:
- OAuth2-bejelentkezés: Engedélyeznie kell a bejelentkezést az Azure-ba az OAuth2 protokoll alapján.
A parancs végrehajtása után a következő naplóüzenetekből láthatja, hogy az üzembe helyezés sikeres volt:
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-api-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-api)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-api.azuremicroservices.io
5. Az alkalmazás ellenőrzése
Most már hozzáférhet a RESTful API-hoz, hogy lássa, működik-e.
5.1. Hozzáférési jogkivonat kérése
A RESTful API-k erőforrás-kiszolgálóként működnek, amelyet a Microsoft Entra ID véd. A hozzáférési jogkivonat beszerzése előtt regisztrálnia kell egy másik alkalmazást a Microsoft Entra-azonosítóban, és engedélyeket kell adnia a névvel ellátott ToDoWeb
ügyfélalkalmazásnak.
Az ügyfélalkalmazás regisztrálása
Az alábbi lépésekkel regisztrálhat egy alkalmazást a Microsoft Entra-azonosítóban, amely az alkalmazás engedélyeinek hozzáadására ToDo
szolgál:
Jelentkezzen be az Azure Portalra.
Ha több bérlőhöz van hozzáférése, a Címtár + előfizetés szűrővel (
) válassza ki azt a bérlőt, amelyben regisztrálni szeretne egy alkalmazást.
Keresse meg és válassza ki a Microsoft Entra ID-t.
A Kezelés területen válassza a Alkalmazásregisztrációk> New regisztráció lehetőséget.
Adja meg az alkalmazás nevét a Név mezőben – például ToDoWeb. Előfordulhat, hogy az alkalmazás felhasználói látják ezt a nevet, és később módosíthatja.
Támogatott fióktípusok esetén csak ebben a szervezeti címtárban használja a Fiókok alapértelmezett értékét.
Válassza a Regisztráció elemet az alkalmazás létrehozásához.
Az Alkalmazás áttekintése lapon keresse meg az alkalmazás (ügyfél) azonosítójának értékét, majd jegyezze fel későbbi használatra. Szüksége van rá egy hozzáférési jogkivonat beszerzéséhez.
Válassza az API-engedélyeket>: Engedély>hozzáadása Saját API-k. Jelölje ki a
ToDo
korábban regisztrált alkalmazást, majd válassza a ToDo.Read, a ToDo.Write és a ToDo.Delete engedélyeket. Jelölje be az Engedélyek hozzáadása lehetőséget.Válassza a Rendszergazdai hozzájárulás megadása a bérlői névhez <> lehetőséget a rendszergazdai hozzájárulás megadásához a hozzáadott engedélyekhez.
Felhasználó hozzáadása a RESTful API-k eléréséhez
Az alábbi lépésekkel tagfelhasználót hozhat létre a Microsoft Entra-bérlőben. Ezután a felhasználó RESTful API-kkal kezelheti az ToDo
alkalmazás adatait.
A Kezelés csoportban válassza a Felhasználók>új felhasználó új felhasználó> létrehozása lehetőséget.
Az Új felhasználó létrehozása lapon adja meg a következő adatokat:
- Egyszerű felhasználónév: Adja meg a felhasználó nevét.
- Megjelenítendő név: Adja meg a felhasználó megjelenítendő nevét.
- Jelszó: Másolja ki a Jelszó mezőben megadott automatikus jelszót.
Feljegyzés
Az új felhasználóknak be kell fejezniük az első bejelentkezési hitelesítést, és frissíteniük kell a jelszavukat, ellenkező esetben hibaüzenet jelenik
AADSTS50055: The password is expired
meg a hozzáférési jogkivonat beszerzésekor.Amikor egy új felhasználó bejelentkezik, megjelenik egy kötelező művelet. A Későbbi kérés lehetőséget választva kihagyhatják az érvényesítést.
Válassza a Véleményezés + létrehozás lehetőséget a kijelölések áttekintéséhez. Válassza a Létrehozás lehetőséget a felhasználó létrehozásához.
Az OAuth2 konfigurációjának frissítése a Swagger felhasználói felületének engedélyezéséhez
Az alábbi lépésekkel frissítheti az OAuth2 konfigurációját a Swagger felhasználói felületének engedélyezéséhez. Ezután engedélyezheti a felhasználóknak, hogy hozzáférési jogkivonatokat szerezzenek be az ToDoWeb
alkalmazáson keresztül.
Nyissa meg a Microsoft Entra ID-bérlőt az Azure Portalon, és nyissa meg a regisztrált
ToDoWeb
alkalmazást.A Kezelés területen válassza a Hitelesítés lehetőséget, válassza a Platform hozzáadása, majd az Egyoldalas alkalmazás lehetőséget.
Használja a formátumot
<your-app-exposed-application-URL-or-endpoint>/swagger-ui/oauth2-redirect.html
OAuth2 átirányítási URL-címként az Átirányítási URI-k mezőben, majd válassza a Konfigurálás lehetőséget.
2. A Spring projekt előkészítése
A RESTful API-alkalmazás üzembe helyezéséhez az első lépés a Spring-projekt helyi futtatásának előkészítése.
Az alkalmazás helyi klónozásához és futtatásához kövesse az alábbi lépéseket:
Az alábbi paranccsal klónozza a mintaprojektet a GitHubról:
git clone https://github.com/Azure-Samples/ASA-Samples-Restful-Application.git
Ha helyileg szeretné futtatni az alkalmazást, hajtsa végre a RESTful API-k közzététele és az alkalmazáskonfigurációs szakaszok frissítése című szakasz lépéseit, majd a következő paranccsal futtassa a mintaalkalmazást a Mavennel:
cd ASA-Samples-Restful-Application ./mvnw spring-boot:run
3. A felhőkörnyezet előkészítése
A mintaalkalmazás futtatásához szükséges fő erőforrások egy Azure Spring Apps-példány és egy Azure Database for PostgreSQL-példány. A következő szakaszok ismertetik, hogyan hozhatja létre ezeket az erőforrásokat.
3.1. Jelentkezzen be az Azure Portalra
Lépjen az Azure Portalra , és adja meg a hitelesítő adatait a portálra való bejelentkezéshez. Az alapértelmezett nézet a szolgáltatási irányítópult.
3.2. Azure Spring Apps-példány létrehozása
A következő lépésekkel hozhat létre egy szolgáltatáspéldányt:
Válassza az Erőforrás létrehozása lehetőséget a portál sarkában.
Válassza a Compute>Azure Spring Apps lehetőséget.
Töltse ki az Alapismeretek űrlapot. Az űrlap kitöltéséhez használja az alábbi táblázatot útmutatóként. Az ajánlott csomagérték a Standard consumption > dedikált (előzetes verzió).
Beállítás Ajánlott érték Leírás Előfizetés Az Ön előfizetésének a neve. A kiszolgálóhoz használni kívánt Azure-előfizetés. Ha több előfizetéssel rendelkezik, válassza ki azt az előfizetést, amelyben ki szeretné számlázni az erőforrást. Erőforráscsoport myresourcegroup Egy új erőforráscsoport neve vagy egy meglévő az előfizetéséből. Név myasa Egyedi név, amely azonosítja az Azure Spring Apps szolgáltatást. A névnek 4 és 32 karakter közötti hosszúságúnak kell lennie, és csak kisbetűket, számokat és kötőjeleket tartalmazhat. A szolgáltatásnév első karakterének betűnek kell lennie, az utolsó karakternek pedig betűnek vagy számnak kell lennie. Terv Standard felhasználás > dedikált (előzetes verzió) A tarifacsomag határozza meg a példányhoz társított erőforrásokat és költségeket. Régió A felhasználókhoz legközelebbi régió. A felhasználókhoz legközelebb eső hely. Container Apps-környezet myenvironment Kiválaszthatja, hogy melyik Container Apps-környezetpéldányt szeretné megosztani ugyanazzal a virtuális hálózattal más szolgáltatásokkal és erőforrásokkal. A Container Apps-környezet létrehozásának útmutatójaként használja az alábbi táblázatot:
Beállítás Ajánlott érték Leírás Környezet neve myenvironment Egyedi név, amely azonosítja az Azure Container Apps Environment szolgáltatást. Terv Fogyasztás A tarifacsomag határozza meg a példányhoz társított erőforrásokat és költségeket. Zónaredundáns Disabled (Letiltva) A Container Apps Environment szolgáltatás azure-beli rendelkezésre állási zónában való létrehozásának lehetősége. A kiválasztások áttekintéséhez válassza a Véleményezés és létrehozás lehetőséget. Ezután válassza a Létrehozás lehetőséget az Azure Spring Apps-példány kiépítéséhez.
Az eszköztáron válassza az Értesítések ikont (csengő) az üzembehelyezési folyamat megfigyeléséhez. Az üzembe helyezés befejezése után kiválaszthatja a Rögzítés az irányítópulton lehetőséget, amely létrehoz egy csempét ehhez a szolgáltatáshoz az Azure Portal irányítópultján a szolgáltatás áttekintési oldalának parancsikonjaként.
Válassza az Ugrás az erőforrásra lehetőséget a szolgáltatás Áttekintés lapjának megnyitásához.
Fontos
A használatalapú számítási feladatok profilja használatalapú számlázási modellel rendelkezik, kezdő költség nélkül. A kiosztott erőforrások alapján a dedikált számítási feladatprofilért kell fizetnie. További információ: Számítási feladatok profiljai az Azure Container Appsben és az Azure Spring Apps díjszabásában.
3.3. A PostgreSQL-példány előkészítése
Az alábbi lépésekkel hozzon létre egy Azure Database for PostgreSQL-kiszolgálót:
Nyissa meg az Azure Portalt, és válassza az Erőforrás létrehozása lehetőséget.
Válassza az Adatbázisok>Azure Database for PostgreSQL lehetőséget.
Válassza a rugalmas kiszolgálótelepítési lehetőséget.
Töltse ki az Alapismeretek lapot a következő információkkal:
- Kiszolgáló neve: my-demo-pgsql
- Régió: USA keleti régiója
- PostgreSQL-verzió: 14
- Számítási feladat típusa: Fejlesztés
- Magas rendelkezésre állás engedélyezése: nincs kiválasztva
- Hitelesítési módszer: Csak PostgreSQL-hitelesítés
- Rendszergazda felhasználónév: myadmin
- Jelszó és jelszó megerősítése: Adjon meg egy jelszót.
A Hálózatkezelés lap konfigurálásához használja az alábbi információkat:
- Csatlakozás ivity metódus: Nyilvános hozzáférés (engedélyezett IP-címek)
- Nyilvános hozzáférés engedélyezése bármely Azure-szolgáltatásból ehhez a kiszolgálóhoz: kiválasztva
A kiválasztások áttekintéséhez válassza a Véleményezés + létrehozás lehetőséget, majd a Kiszolgáló kiépítéséhez válassza a Létrehozás lehetőséget . Ez a művelet eltarthat néhány percig.
Nyissa meg a PostgreSQL-kiszolgálót az Azure Portalon. Az Áttekintés lapon keresse meg a kiszolgálónév értékét, majd jegyezze fel későbbi használatra. Ehhez konfigurálnia kell az alkalmazás környezeti változóit az Azure Spring Appsben.
Adatbázis létrehozásához válassza az Adatbázisok lehetőséget a navigációs menüből – például teendő.
3.4. alkalmazáspéldány Csatlakozás PostgreSQL-példányba
A szolgáltatáspéldányok csatlakoztatásához kövesse az alábbi lépéseket:
Nyissa meg az Azure Spring Apps-példányt az Azure Portalon.
A navigációs menüben nyissa meg az Alkalmazások elemet, majd válassza az Alkalmazás létrehozása lehetőséget.
Az Alkalmazás létrehozása lapon adja meg a simple-todo-api alkalmazásnevet, és válassza ki a Java-összetevőket üzembe helyezési típusként.
Kattintson a Létrehozás gombra az alkalmazás létrehozásának befejezéséhez, majd válassza ki az alkalmazást a részletek megtekintéséhez.
Nyissa meg az Azure Portalon létrehozott alkalmazást. Az Áttekintés lapon válassza a Végpont hozzárendelése lehetőséget az alkalmazás nyilvános végpontjának közzétételéhez. Mentse az URL-címet az alkalmazás eléréséhez az üzembe helyezés után.
Nyissa meg a létrehozott alkalmazást, bontsa ki a Gépház és válassza a Konfiguráció lehetőséget a navigációs menüből, majd válassza a Környezeti változók lehetőséget a környezeti változók beállításához.
Adja hozzá a következő környezeti változókat a PostgreSQL-kapcsolathoz, majd a Mentés gombra kattintva fejezze be az alkalmazáskonfiguráció frissítését. Mindenképpen cserélje le a helyőrzőket a korábban létrehozott saját értékekre.
Környezeti változó Érték SPRING_DATASOURCE_URL
jdbc:postgresql://<your-PostgreSQL-server-name>:5432/<your-PostgreSQL-database-name>
SPRING_DATASOURCE_USERNAME
<your-PostgreSQL-admin-user>
SPRING_DATASOURCE_PASSWORD
<your-PostgreSQL-admin-password>
3.5. RESTful API-k elérhetővé tétele
A RESTful API-k a Microsoft Entra-azonosítóban való közzétételéhez kövesse az alábbi lépéseket:
Jelentkezzen be az Azure Portalra.
Ha több bérlőhöz van hozzáférése, a Címtár + előfizetés szűrővel (
) válassza ki azt a bérlőt, amelyben regisztrálni szeretne egy alkalmazást.
Keresse meg és válassza ki a Microsoft Entra ID-t.
A Kezelés területen válassza a Alkalmazásregisztrációk> New regisztráció lehetőséget.
Adja meg az alkalmazás nevét a Név mezőben – például Todo. Előfordulhat, hogy az alkalmazás felhasználói látják ezt a nevet, és később módosíthatja.
Támogatott fióktípusok esetén válassza a Bármely szervezeti könyvtárban (Bármely Microsoft Entra könyvtár – Több-bérlős) és a személyes Microsoft-fiókokban lévő Fiókok lehetőséget.
Válassza a Regisztráció elemet az alkalmazás létrehozásához.
Az Alkalmazás áttekintése lapon keresse meg az alkalmazás (ügyfél) azonosítójának értékét, majd jegyezze fel későbbi használatra. A projekt YAML-konfigurációs fájljának konfigurálásához szükség van rá.
A Kezelés területen válassza az API-k felfedése lehetőséget, keresse meg az alkalmazásazonosító URI-ját a lap elején, majd válassza a Hozzáadás lehetőséget.
Az alkalmazásazonosító URI-jának szerkesztése lapon fogadja el a javasolt alkalmazásazonosító URI-ját (
api://{client ID}
), vagy használjon az ügyfélazonosító helyett egy értelmes nevet, példáulapi://simple-todo
, majd válassza a Mentés lehetőséget.A Kezelés csoportban válassza az API-k>hatókör hozzáadása lehetőséget, majd adja meg a következő adatokat:
- A Hatókör neve mezőbe írja be a ToDo.Read nevet.
- A Ki tud hozzájárulni, csak a Rendszergazda válassza ki.
- Ha Rendszergazda hozzájárulás megjelenítendő nevét szeretné megadni, írja be a ToDo-adatok olvasását.
- A Rendszergazda hozzájárulás leírásához írja be a Hitelesített felhasználók számára a ToDo-adatok olvasását.
- Állapot esetén hagyja engedélyezve.
- Válassza a Hatókör hozzáadása lehetőséget.
Ismételje meg az előző lépéseket a másik két hatókör hozzáadásához: ToDo.Write és ToDo.Delete.
3.6. Az alkalmazáskonfiguráció frissítése
Az alábbi lépésekkel frissítheti a YAML-fájlt a Microsoft Entra által regisztrált alkalmazásadatok használatával a RESTful API-alkalmazással való kapcsolat létesítéséhez:
Keresse meg az alkalmazás src/main/resources/application.yml fájlját
simple-todo-api
. Frissítse a szakasz konfigurációját azspring.cloud.azure.active-directory
alábbi példának megfelelően. Mindenképpen cserélje le a helyőrzőket a korábban létrehozott értékekre.spring: cloud: azure: active-directory: profile: tenant-id: <tenant> credential: client-id: <your-application-ID-of-ToDo> app-id-uri: <your-application-ID-URI-of-ToDo>
Feljegyzés
Az 1.0-s verziójú jogkivonatok esetében a konfigurációhoz az API ügyfél-azonosítója szükséges, míg a 2.0-s verziójú jogkivonatokban használhatja az ügyfél-azonosítót vagy az alkalmazásazonosító URI-ját a kérelemben. Mindkettőt konfigurálhatja úgy, hogy megfelelően végezze el a célközönség érvényesítését.
Az engedélyezett
tenant-id
értékek a következők:common
,organizations
,consumers
vagy a bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásával kapcsolatos információkért lásd : Egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosítón.A mintaprojekt újraépítéséhez használja a következő parancsot:
./mvnw clean package
4. Az alkalmazás üzembe helyezése az Azure Spring Appsben
Most már üzembe helyezheti az alkalmazást az Azure Spring Appsben.
Az Azure Spring Apps Maven beépülő moduljának üzembe helyezéséhez kövesse az alábbi lépéseket:
Lépjen a teljes könyvtárra, majd futtassa a következő parancsot az alkalmazás Azure Spring Appsben való konfigurálásához:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
Az alábbi lista a parancsok interakcióit ismerteti:
- OAuth2-bejelentkezés: Engedélyeznie kell a bejelentkezést az Azure-ba az OAuth2 protokoll alapján.
- Előfizetés kiválasztása: Válassza ki a létrehozott Azure Spring Apps-példány előfizetési listájának számát, amely alapértelmezés szerint a lista első előfizetése. Ha az alapértelmezett számot használja, nyomja le közvetlenül az Enter billentyűt .
- Meglévő Azure Spring Apps használata az Azure-ban: Nyomja le az y billentyűt a meglévő Azure Spring Apps-példány használatához.
- Válassza ki az Üzembe helyezéshez az Azure Spring Appst: Válassza ki a létrehozott Azure Spring Apps-példány számát. Ha az alapértelmezett számot használja, nyomja le közvetlenül az Enter billentyűt .
- Használja a meglévő alkalmazást az Azure Spring Appsben <a példánynévvel>: Nyomja le az y billentyűt a létrehozott alkalmazás használatához.
- Ellenőrizze, hogy menti-e a fenti konfigurációkat: Nyomja le az y billentyűt. Ha az n billentyűt lenyomja, a konfiguráció nem lesz mentve a POM-fájlokba.
Az alkalmazás üzembe helyezéséhez használja a következő parancsot:
./mvnw azure-spring-apps:deploy
Az alábbi lista a parancsok közötti interakciót ismerteti:
- OAuth2-bejelentkezés: Engedélyeznie kell a bejelentkezést az Azure-ba az OAuth2 protokoll alapján.
A parancs végrehajtása után a következő naplóüzenetekből láthatja, hogy az üzembe helyezés sikeres volt:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:demo--default-xxxxxxx-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:NONE
[INFO] Getting public url of app(demo)...
[INFO] Application url: https://demo.<unique-identifier>.<region-name>.azurecontainerapps.io
5. Az alkalmazás ellenőrzése
Most már hozzáférhet a RESTful API-hoz, hogy lássa, működik-e.
5.1. Hozzáférési jogkivonat kérése
A RESTful API-k erőforrás-kiszolgálóként működnek, amelyet a Microsoft Entra ID véd. A hozzáférési jogkivonat beszerzése előtt regisztrálnia kell egy másik alkalmazást a Microsoft Entra-azonosítóban, és engedélyeket kell adnia a névvel ellátott ToDoWeb
ügyfélalkalmazásnak.
Az ügyfélalkalmazás regisztrálása
Az alábbi lépésekkel regisztrálhat egy alkalmazást a Microsoft Entra-azonosítóban, amely az alkalmazás engedélyeinek hozzáadására ToDo
szolgál:
Jelentkezzen be az Azure Portalra.
Ha több bérlőhöz van hozzáférése, a Címtár + előfizetés szűrővel (
) válassza ki azt a bérlőt, amelyben regisztrálni szeretne egy alkalmazást.
Keresse meg és válassza ki a Microsoft Entra ID-t.
A Kezelés területen válassza a Alkalmazásregisztrációk> New regisztráció lehetőséget.
Adja meg az alkalmazás nevét a Név mezőben – például ToDoWeb. Előfordulhat, hogy az alkalmazás felhasználói látják ezt a nevet, és később módosíthatja.
Támogatott fióktípusok esetén csak ebben a szervezeti címtárban használja a Fiókok alapértelmezett értékét.
Válassza a Regisztráció elemet az alkalmazás létrehozásához.
Az Alkalmazás áttekintése lapon keresse meg az alkalmazás (ügyfél) azonosítójának értékét, majd jegyezze fel későbbi használatra. Szüksége van rá egy hozzáférési jogkivonat beszerzéséhez.
Válassza az API-engedélyeket>: Engedély>hozzáadása Saját API-k. Jelölje ki a
ToDo
korábban regisztrált alkalmazást, majd válassza a ToDo.Read, a ToDo.Write és a ToDo.Delete engedélyeket. Jelölje be az Engedélyek hozzáadása lehetőséget.Válassza a Rendszergazdai hozzájárulás megadása a bérlői névhez <> lehetőséget a rendszergazdai hozzájárulás megadásához a hozzáadott engedélyekhez.
Felhasználó hozzáadása a RESTful API-k eléréséhez
Az alábbi lépésekkel tagfelhasználót hozhat létre a Microsoft Entra-bérlőben. Ezután a felhasználó RESTful API-kkal kezelheti az ToDo
alkalmazás adatait.
A Kezelés csoportban válassza a Felhasználók>új felhasználó új felhasználó> létrehozása lehetőséget.
Az Új felhasználó létrehozása lapon adja meg a következő adatokat:
- Egyszerű felhasználónév: Adja meg a felhasználó nevét.
- Megjelenítendő név: Adja meg a felhasználó megjelenítendő nevét.
- Jelszó: Másolja ki a Jelszó mezőben megadott automatikus jelszót.
Feljegyzés
Az új felhasználóknak be kell fejezniük az első bejelentkezési hitelesítést, és frissíteniük kell a jelszavukat, ellenkező esetben hibaüzenet jelenik
AADSTS50055: The password is expired
meg a hozzáférési jogkivonat beszerzésekor.Amikor egy új felhasználó bejelentkezik, megjelenik egy kötelező művelet. A Későbbi kérés lehetőséget választva kihagyhatják az érvényesítést.
Válassza a Véleményezés + létrehozás lehetőséget a kijelölések áttekintéséhez. Válassza a Létrehozás lehetőséget a felhasználó létrehozásához.
Az OAuth2 konfigurációjának frissítése a Swagger felhasználói felületének engedélyezéséhez
Az alábbi lépésekkel frissítheti az OAuth2 konfigurációját a Swagger felhasználói felületének engedélyezéséhez. Ezután engedélyezheti a felhasználóknak, hogy hozzáférési jogkivonatokat szerezzenek be az ToDoWeb
alkalmazáson keresztül.
Nyissa meg a Microsoft Entra ID-bérlőt az Azure Portalon, és nyissa meg a regisztrált
ToDoWeb
alkalmazást.A Kezelés területen válassza a Hitelesítés lehetőséget, válassza a Platform hozzáadása, majd az Egyoldalas alkalmazás lehetőséget.
Használja a formátumot
<your-app-exposed-application-URL-or-endpoint>/swagger-ui/oauth2-redirect.html
OAuth2 átirányítási URL-címként az Átirányítási URI-k mezőben, majd válassza a Konfigurálás lehetőséget.
A hozzáférési jogkivonat beszerzése
A következő lépésekkel OAuth 2.0 engedélyezési kódfolyamat-metódussal szerezhet be egy hozzáférési jogkivonatot a Microsoft Entra-azonosítóval, majd hozzáférhet az ToDo
alkalmazás RESTful API-jaihoz:
Nyissa meg az alkalmazás által közzétett URL-címet, majd válassza az Engedélyezés lehetőséget az OAuth2-hitelesítés előkészítéséhez.
Az Elérhető engedélyek ablakban adja meg az
ToDoWeb
alkalmazás ügyfél-azonosítóját a client_id mezőben, jelölje ki a Hatókörök mező összes hatókörét, hagyja figyelmen kívül a client_secret mezőt, majd válassza az Engedélyezés lehetőséget a Microsoft Entra bejelentkezési lapra való átirányításhoz.
Miután befejezte az előző felhasználóval való bejelentkezést, a rendszer visszalép az Elérhető engedélyek ablakba.
5.2. Hozzáférés a RESTful API-khoz
Az alábbi lépésekkel érheti el az alkalmazás RESTful API-jait a ToDo
Swagger felhasználói felületén:
Válassza ki az API POST /api/simple-todo/lists elemet , majd válassza a Kipróbálás lehetőséget. Írja be a következő kérelemtörzset, majd válassza az Execute (Végrehajtás ) lehetőséget toDo-lista létrehozásához.
{ "name": "My List" }
A végrehajtás befejezése után a következő válasz törzs jelenik meg:
{ "id": "<ID-of-the-ToDo-list>", "name": "My List", "description": null }
Válassza ki az API POST /api/simple-todo/lists/{listId}/items elemet, majd válassza a Kipróbálás lehetőséget. ListId esetén adja meg a korábban létrehozott ToDo listaazonosítót, írja be a következő kérelemtörzset, majd válassza a Végrehajtás elemet a ToDo-elem létrehozásához.
{ "name": "My first ToDo item", "listId": "<ID-of-the-ToDo-list>", "state": "todo" }
Ez a művelet a következő ToDo-elemet adja vissza:
{ "id": "<ID-of-the-ToDo-item>", "listId": "<ID-of-the-ToDo-list>", "name": "My first ToDo item", "description": null, "state": "todo", "dueDate": "2023-07-11T13:59:24.9033069+08:00", "completedDate": null }
Válassza ki az API GET /api/simple-todo/lists, majd a ToDo-listák lekérdezéséhez a Végrehajtás lehetőséget. Ez a művelet a következő ToDo-listákat adja vissza:
[ { "id": "<ID-of-the-ToDo-list>", "name": "My List", "description": null } ]
Válassza ki az API GET /api/simple-todo/lists/{listId}/items elemet, majd válassza a Kipróbálás lehetőséget. A listId mezőbe írja be a korábban létrehozott ToDo listaazonosítót, majd válassza az Execute (Végrehajtás) lehetőséget a ToDo-elemek lekérdezéséhez. Ez a művelet a következő ToDo-elemet adja vissza:
[ { "id": "<ID-of-the-ToDo-item>", "listId": "<ID-of-the-ToDo-list>", "name": "My first ToDo item", "description": null, "state": "todo", "dueDate": "2023-07-11T13:59:24.903307+08:00", "completedDate": null } ]
Válassza a PUT /api/simple-todo/lists/{listId}/items/{itemId} API-t, majd válassza a Kipróbálás lehetőséget. A listId mezőbe írja be a ToDo listaazonosítót. ItemId esetén adja meg a ToDo elem azonosítóját, írja be a következő kérelemtörzset, majd válassza az Végrehajtás lehetőséget a ToDo elem frissítéséhez.
{ "id": "<ID-of-the-ToDo-item>", "listId": "<ID-of-the-ToDo-list>", "name": "My first ToDo item", "description": "Updated description.", "dueDate": "2023-07-11T13:59:24.903307+08:00", "state": "inprogress" }
Ez a művelet a következő frissített ToDo-elemet adja vissza:
{ "id": "<ID-of-the-ToDo-item>", "listId": "<ID-of-the-ToDo-list>", "name": "My first ToDo item", "description": "Updated description.", "state": "inprogress", "dueDate": "2023-07-11T05:59:24.903307Z", "completedDate": null }
Válassza az API DELETE /api/simple-todo/lists/{listId}/items/{itemId} lehetőséget, majd válassza a Kipróbálás lehetőséget. A listId mezőbe írja be a ToDo listaazonosítót. Az itemId mezőben adja meg a ToDo elem azonosítóját, majd válassza a Végrehajtás lehetőséget a ToDo elem törléséhez. Látnia kell, hogy a kiszolgáló válaszkódja .
204
6. Erőforrások tisztítása
Törölheti az Azure-erőforráscsoportot, amely tartalmazza az erőforráscsoportban lévő összes erőforrást.
Az alábbi lépésekkel törölheti a teljes erőforráscsoportot, beleértve az újonnan létrehozott szolgáltatást is:
Keresse meg az erőforráscsoportot az Azure Portalon.
A navigációs menüben válassza az Erőforráscsoportok lehetőséget. Ezután válassza ki az erőforráscsoport nevét – például a myresourcegroupot.
Az erőforráscsoport oldalán kattintson a Törlés parancsra. A törlés megerősítéséhez írja be az erőforráscsoport nevét a szövegmezőbe – például myresourcegroup. Ezután válassza a Törlés lehetőséget.
Az alábbi lépésekkel törölheti a teljes erőforráscsoportot, beleértve az újonnan létrehozott szolgáltatást is:
Keresse meg az erőforráscsoportot az Azure Portalon.
A navigációs menüben válassza az Erőforráscsoportok lehetőséget. Ezután válassza ki az erőforráscsoport nevét – például a myresourcegroupot.
Az erőforráscsoport oldalán kattintson a Törlés parancsra. A törlés megerősítéséhez írja be az erőforráscsoport nevét a szövegmezőbe – például myresourcegroup. Ezután válassza a Törlés lehetőséget.
7. Következő lépések
További információért tekintse át az alábbi cikkeket: