Rychlý start: Nasazení aplikace RESTful API do Azure Spring Apps
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek popisuje, jak nasadit aplikaci RESTful API chráněnou id Microsoft Entra do Azure Spring Apps. Ukázkový projekt je zjednodušená verze založená na webové aplikaci Simple Todo , která poskytuje pouze back-endovou službu a k ochraně rozhraní RESTful API používá Microsoft Entra ID.
Tato rozhraní RESTful API jsou chráněná použitím řízení přístupu na základě role (RBAC). Anonymní uživatelé nemají přístup k žádným datům a nemůžou řídit přístup pro různé uživatele. Anonymní uživatelé mají pouze následující tři oprávnění:
- Čtení: S tímto oprávněním může uživatel číst data toDo.
- Zápis: S tímto oprávněním může uživatel přidat nebo aktualizovat data toDo.
- Odstranit: S tímto oprávněním může uživatel odstranit data toDo.
Po úspěšném nasazení můžete zobrazit a otestovat rozhraní API prostřednictvím uživatelského rozhraní Swagger.
Následující diagram znázorňuje architekturu systému:
Tento článek popisuje následující možnosti pro vytváření prostředků a jejich nasazení do Azure Spring Apps:
- Možnost modulu plug-in Azure Portal + Maven nabízí konventivnější způsob vytváření prostředků a nasazování aplikací krok za krokem. Tato možnost je vhodná pro vývojáře springu, kteří používají cloudové služby Azure poprvé.
- Možnost Azure Developer CLI je efektivnější způsob, jak automaticky vytvářet prostředky a nasazovat aplikace prostřednictvím jednoduchých příkazů. Azure Developer CLI používá šablonu ke zřízení potřebných prostředků Azure a k nasazení kódu aplikace. Tato možnost je vhodná pro vývojáře Springu, kteří jsou obeznámeni s cloudovými službami Azure.
Tento článek popisuje následující možnosti pro vytváření prostředků a jejich nasazení do Azure Spring Apps:
- Možnost modulu plug-in Azure Portal + Maven nabízí konventivnější způsob vytváření prostředků a nasazování aplikací krok za krokem. Tato možnost je vhodná pro vývojáře springu, kteří používají cloudové služby Azure poprvé.
- Možnost Azure CLI používá k správě prostředků Azure výkonný nástroj příkazového řádku. Tato možnost je vhodná pro vývojáře Springu, kteří jsou obeznámeni s cloudovými službami Azure.
1. Požadavky
Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure, než začnete.
Jedna z následujících rolí:
- Roli Globální správce nebo Správce privilegovaných rolí k udělení souhlasu pro aplikace vyžadující jakákoli oprávnění pro jakékoli rozhraní API.
- Správce cloudových aplikací nebo správce aplikací pro udělení souhlasu pro aplikace, které požadují jakékoli oprávnění pro jakékoli rozhraní API, s výjimkou rolí aplikací Microsoft Graphu (oprávnění aplikací).
- Vlastní role adresáře, která zahrnuje oprávnění k udělení oprávnění aplikacím, pro oprávnění požadovaná aplikací.
Další informace najdete v tématu Udělení souhlasu správce v rámci celého tenanta k aplikaci.
Pokud nasazujete instanci plánu Azure Spring Apps Enterprise poprvé v cílovém předplatném, přečtěte si část Požadavky plánu Enterprise na Azure Marketplace.
Java Development Kit (JDK) verze 17.
Tenant Microsoft Entra. Pokyny k vytvoření tohoto tenanta najdete v tématu Rychlý start: Vytvoření nového tenanta v Microsoft Entra ID.
Předplatné Azure, pokud ještě nemáte předplatné Azure, vytvořte si před zahájením bezplatný účet Azure.
Jedna z následujících rolí:
- Roli Globální správce nebo Správce privilegovaných rolí k udělení souhlasu pro aplikace vyžadující jakákoli oprávnění pro jakékoli rozhraní API.
- Správce cloudových aplikací nebo správce aplikací pro udělení souhlasu pro aplikace, které požadují jakékoli oprávnění pro jakékoli rozhraní API, s výjimkou rolí aplikací Microsoft Graphu (oprávnění aplikací).
- Vlastní role adresáře, která zahrnuje oprávnění k udělení oprávnění aplikacím, pro oprávnění požadovaná aplikací.
Další informace najdete v tématu Udělení souhlasu správce v rámci celého tenanta k aplikaci.
Java Development Kit (JDK) verze 17.
Tenant Microsoft Entra. Pokyny k vytvoření tohoto tenanta najdete v tématu Rychlý start: Vytvoření nového tenanta v Microsoft Entra ID.
2. Příprava projektu Spring
Pokud chcete nasadit aplikaci RESTful API, prvním krokem je příprava projektu Spring na místní spuštění.
Pomocí následujících kroků naklonujte a spusťte aplikaci místně:
Pomocí následujícího příkazu naklonujte ukázkový projekt z GitHubu:
git clone https://github.com/Azure-Samples/ASA-Samples-Restful-Application.git
Pokud chcete aplikaci spustit místně, nejprve proveďte kroky v části Zveřejnění rozhraní RESTful API a aktualizujte konfigurační oddíly aplikace a pak pomocí následujícího příkazu spusťte ukázkovou aplikaci pomocí Mavenu:
cd ASA-Samples-Restful-Application ./mvnw spring-boot:run
3. Příprava cloudového prostředí
Hlavní prostředky potřebné ke spuštění této ukázkové aplikace jsou instance Azure Spring Apps a instance Azure Database for PostgreSQL. Následující části popisují, jak tyto prostředky vytvořit.
3.1. Přihlaste se k portálu Azure Portal.
Přejděte na web Azure Portal a zadejte svoje přihlašovací údaje pro přihlášení k portálu. Výchozím zobrazením je váš řídicí panel služby.
3.2. Vytvoření instance Azure Spring Apps
Pomocí následujících kroků vytvořte instanci služby Azure Spring Apps:
V rohu webu Azure Portal vyberte Vytvořit prostředek .
Vyberte Compute>Azure Spring Apps.
Vyplňte formulář Základy s následujícími informacemi:
Nastavení Navrhovaná hodnota Popis Předplatné Název vašeho předplatného Předplatné Azure, které chcete použít pro váš server. Pokud máte více předplatných, zvolte předplatné, ve kterém chcete prostředek fakturovat. Skupina prostředků myresourcegroup Název nové skupiny prostředků nebo některé ze stávajících ve vašem předplatném. Název myasa Jedinečný název, který identifikuje vaši službu Azure Spring Apps. Název musí mít délku 4 až 32 znaků a může obsahovat jenom malá písmena, číslice a pomlčky. První znak názvu služby musí být písmeno a poslední znak musí být písmeno nebo číslo. Plán Enterprise Cenový plán, který určuje prostředek a náklady spojené s vaší instancí. Oblast Oblast, která je nejblíže vašim uživatelům. Umístění co nejblíže vašim uživatelům. Zónově redundantní Nevybráno Možnost vytvoření služby Azure Spring Apps v zóně dostupnosti Azure Tato funkce se v současné době nepodporuje ve všech oblastech. Plán softwarových IP adres Průběžné platby Cenový plán, který vám umožní platit při přechodu pomocí Azure Spring Apps. Termíny Selected Zaškrtávací políčko smlouvy přidružené k nabídce Marketplace. Toto políčko musíte zaškrtnout. Nasazení ukázkového projektu Nevybráno Možnost použít předdefinované ukázkové aplikace. Výběrem možnosti Zkontrolovat a Vytvořit zkontrolujte vybrané možnosti. Pak vyberte Vytvořit a zřiďte instanci Azure Spring Apps.
Pokud chcete monitorovat proces nasazení, na panelu nástrojů vyberte ikonu Oznámení (zvonek). Po dokončení nasazení můžete vybrat Připnout na řídicí panel, který vytvoří dlaždici pro tuto službu na řídicím panelu webu Azure Portal jako zástupce na stránce Přehled služby.
Výběrem možnosti Přejít k prostředku přejděte na stránku Přehled služby Azure Spring Apps.
3.3. Příprava instance PostgreSQL
Pomocí následujících kroků vytvořte server Azure Database for PostgreSQL:
Přejděte na web Azure Portal a vyberte Vytvořit prostředek.
Vyberte Databáze>Azure Database for PostgreSQL.
Vyberte možnost nasazení flexibilního serveru .
Na kartě Základy vyplňte následující informace:
- Název serveru: my-demo-pgsql
- Oblast: USA – východ
- Verze PostgreSQL: 14
- Typ úlohy: Vývoj
- Povolení vysoké dostupnosti: nevybrané
- Metoda ověřování: Pouze ověřování PostgreSQL
- Uživatelské jméno správce: myadmin
- Heslo a potvrzení hesla: Zadejte heslo.
Ke konfiguraci karty Sítě použijte následující informace:
- Metoda připojení: Veřejný přístup (povolené IP adresy)
- Povolit veřejný přístup z libovolné služby Azure v rámci Azure na tento server: vybráno
Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte výběry a výběrem možnosti Vytvořit zřiďte server. Tato operace může trvat několik minut.
Na webu Azure Portal přejděte na Server PostgreSQL. Na stránce Přehled vyhledejte hodnotu název serveru a potom ji poznamenejte pro pozdější použití. Potřebujete ji ke konfiguraci proměnných prostředí pro aplikaci v Azure Spring Apps.
V navigační nabídce vyberte Databáze a vytvořte databázi – například úkol.
3.4. Připojení instance aplikace k instanci PostgreSQL
K připojení instancí služby použijte následující postup:
Na webu Azure Portal přejděte ke své instanci Azure Spring Apps.
V navigační nabídce otevřete aplikace a pak vyberte Vytvořit aplikaci.
Na stránce Vytvořit aplikaci vyplňte název aplikace simple-todo-api a jako typ nasazení vyberte artefakty Java.
Výběrem možnosti Vytvořit dokončíte vytvoření aplikace a pak ji vyberete, aby se zobrazily podrobnosti.
Přejděte do aplikace, kterou jste vytvořili na webu Azure Portal. Na stránce Přehled vyberte Přiřadit koncový bod, aby se veřejný koncový bod aplikace zpřístupnil. Uložte adresu URL pro přístup k aplikaci po nasazení.
V navigačním podokně vyberte Konektor služby a pak vyberte Vytvořit a vytvořte nové připojení služby.
Na kartě Základy vyplňte následující informace:
- Typ služby: Flexibilní server DB for PostgreSQL
- Název připojení: Vyplní se automaticky vygenerovaný název, který lze také upravit.
- Předplatné: Vyberte předplatné.
- Flexibilní server PostgreSQL: my-demo-pgsql
- Databáze PostgreSQL: Vyberte databázi, kterou jste vytvořili.
- Typ klienta: SpringBoot
Nakonfigurujte kartu Další: Ověřování s následujícími informacemi:
Poznámka:
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Tok ověřování popsaný v tomto postupu, například pro databáze, mezipaměti, zasílání zpráv nebo služby AI, vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok používejte pouze v případě, že nejsou možné zabezpečit možnosti, jako jsou spravované identity pro připojení bez hesla nebo bez klíčů. V případě místních operací počítačů upřednostňujete identity uživatelů pro připojení bez hesla nebo bez klíčů.
- Vyberte typ ověřování, který chcete použít mezi výpočetní službou a cílovou službou.: Vyberte Připojovací řetězec.
- Pokračovat v...: Výběr přihlašovacích údajů databáze
- Uživatelské jméno: myadmin
- Heslo: Zadejte heslo.
Vyberte Další: Sítě. Pomocí výchozí možnosti Konfigurovat pravidla brány firewall povolte přístup k cílové službě.
Vyberte Další: Zkontrolujte a Vytvořte , abyste zkontrolovali výběry, a pak výběrem možnosti Vytvořit vytvořte připojení.
3.5. Zveřejnění rozhraní RESTful API
Pomocí následujících kroků zpřístupněte rozhraní RESTful API v Microsoft Entra ID:
Přihlaste se k portálu Azure.
Pokud máte přístup k více tenantům, pomocí filtru Adresář a předplatné ( ) vyberte tenanta, ve kterém chcete aplikaci zaregistrovat.
Vyhledejte a vyberte Microsoft Entra ID.
V části Spravovat vyberte Registrace aplikací> Nová registrace.
Do pole Název zadejte název aplikace – například Todo. Uživatelé vaší aplikace můžou vidět tento název a později ho můžete změnit.
U podporovaných typů účtů vyberte Účty v libovolném organizačním adresáři (libovolný adresář Microsoft Entra – Víceklient) a osobní účty Microsoft.
Výběrem možnosti Registrovat aplikaci vytvořte.
Na stránce Přehled aplikace vyhledejte hodnotu ID aplikace (klienta) a potom ji poznamenejte pro pozdější použití. Potřebujete ho ke konfiguraci konfiguračního souboru YAML pro tento projekt.
V části Spravovat vyberte Zveřejnit rozhraní API, na začátku stránky vyhledejte identifikátor URI ID aplikace a pak vyberte Přidat.
Na stránce Upravit identifikátor URI ID aplikace přijměte navrhovaný identifikátor URI ID aplikace (
api://{client ID}
) nebo použijte smysluplný název místo ID klienta, napříkladapi://simple-todo
a pak vyberte Uložit.V části Spravovat vyberte Zveřejnit rozhraní API>Přidat obor a zadejte následující informace:
- Jako název oboru zadejte ToDo.Read.
- U možnosti Kdo může souhlasit, vyberte pouze správci.
- Jako zobrazovaný název souhlasu správce zadejte Číst data toDo.
- Jako popis souhlasu správce zadejte Možnost Umožňuje ověřeným uživatelům číst data ToDo.
- V případě státu ho ponechte povolenou.
- Vyberte Přidat rozsah.
Opakujte předchozí kroky a přidejte další dva obory: ToDo.Write a ToDo.Delete.
3.6. Aktualizace konfigurace aplikace
Pomocí následujících kroků aktualizujte soubor YAML tak, aby používal informace o vaší aplikaci zaregistrované v Microsoft Entra k navázání relace s aplikací RESTful API:
Vyhledejte soubor src/main/resources/application.yml aplikace
simple-todo-api
. Aktualizujte konfiguraci vspring.cloud.azure.active-directory
části tak, aby odpovídala následujícímu příkladu. Zástupné symboly nezapomeňte nahradit hodnotami, které jste vytvořili dříve.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>
Poznámka:
V tokenech v1.0 konfigurace vyžaduje ID klienta rozhraní API, zatímco v tokenech v2.0 můžete v požadavku použít ID klienta nebo identifikátor URI ID aplikace. Obě možnosti můžete nakonfigurovat tak, aby správně dokončily ověřování cílové skupiny.
Povolené hodnoty
tenant-id
jsou:common
,organizations
,consumers
nebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobních účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.Pomocí následujícího příkazu znovu sestavte ukázkový projekt:
./mvnw clean package
4. Nasazení aplikace do Azure Spring Apps
Aplikaci teď můžete nasadit do Azure Spring Apps.
Pomocí následujících kroků nasaďte modul plug-in Maven pro Azure Spring Apps:
Přejděte do úplného adresáře a spuštěním následujícího příkazu nakonfigurujte aplikaci v Azure Spring Apps:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
Následující seznam popisuje interakce příkazů:
- Přihlášení OAuth2: Musíte autorizovat přihlášení k Azure na základě protokolu OAuth2.
- Vyberte předplatné: Vyberte číslo seznamu předplatných instance Azure Spring Apps, kterou jste vytvořili. Výchozí hodnota je první předplatné v seznamu. Pokud použijete výchozí číslo, stiskněte klávesu Enter přímo.
- Použití existujících aplikací Azure Spring Apps v Azure: Stisknutím klávesy y použijte existující instanci Azure Spring Apps.
- Vyberte Azure Spring Apps pro nasazení: Vyberte počet instance Azure Spring Apps, kterou jste vytvořili. Pokud použijete výchozí číslo, stiskněte klávesu Enter přímo.
- Použijte existující aplikaci ve službě Azure Spring Apps <s názvem> vaší instance: Stisknutím klávesy y použijte vytvořenou aplikaci.
- Potvrďte uložení všech výše uvedených konfigurací: Stiskněte y. Pokud stisknete klávesu n, konfigurace se neuloží do souborů POM.
K nasazení aplikace použijte následující příkaz:
./mvnw azure-spring-apps:deploy
Následující seznam popisuje interakci s příkazy:
- Přihlášení OAuth2: Musíte autorizovat přihlášení k Azure na základě protokolu OAuth2.
Po spuštění příkazu se zobrazí následující zprávy protokolu, které nasazení proběhlo úspěšně:
[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. Ověření aplikace
Teď můžete získat přístup k rozhraní RESTful API a zjistit, jestli funguje.
5.1. Vyžádání přístupového tokenu
Rozhraní RESTful API fungují jako server prostředků, který je chráněný id Microsoft Entra. Před získáním přístupového tokenu je nutné zaregistrovat jinou aplikaci v Microsoft Entra ID a udělit oprávnění klientské aplikaci, která je pojmenována ToDoWeb
.
Registrace klientské aplikace
Pomocí následujícího postupu zaregistrujte aplikaci v MICROSOFT Entra ID, která se používá k přidání oprávnění pro ToDo
aplikaci:
Přihlaste se k portálu Azure.
Pokud máte přístup k více tenantům, pomocí filtru Adresář a předplatné ( ) vyberte tenanta, ve kterém chcete aplikaci zaregistrovat.
Vyhledejte a vyberte Microsoft Entra ID.
V části Spravovat vyberte Registrace aplikací> Nová registrace.
Do pole Název zadejte název aplikace – například ToDoWeb. Uživatelé vaší aplikace můžou vidět tento název a později ho můžete změnit.
U podporovaných typů účtů použijte pouze výchozí hodnotu Účty v tomto organizačním adresáři.
Výběrem možnosti Registrovat aplikaci vytvořte.
Na stránce Přehled aplikace vyhledejte hodnotu ID aplikace (klienta) a potom ji poznamenejte pro pozdější použití. Potřebujete ho k získání přístupového tokenu.
Vyberte oprávnění>rozhraní API Přidat oprávnění>Moje rozhraní API.
ToDo
Vyberte aplikaci, kterou jste zaregistrovali dříve, a pak vyberte oprávnění ToDo.Read, ToDo.Write a ToDo.Delete. Vyberte Přidat oprávnění.Pokud chcete udělit souhlas správce s oprávněními, která jste přidali, vyberte Udělit souhlas správce pro <vaše jméno> tenanta.
Přidání uživatele pro přístup k rozhraním RESTful API
Pomocí následujícího postupu vytvořte člena uživatele v tenantovi Microsoft Entra. Uživatel pak může spravovat data ToDo
aplikace prostřednictvím rozhraní RESTful API.
V části Spravovat vyberte Uživatelé>Nový uživatel>Vytvořit nového uživatele.
Na stránce Vytvořit nového uživatele zadejte následující informace:
- Hlavní název uživatele: Zadejte název uživatele.
- Zobrazované jméno: Zadejte zobrazované jméno uživatele.
- Heslo: Zkopírujte automaticky vygenerované heslo zadané v poli Heslo .
Poznámka:
Noví uživatelé musí dokončit první přihlášení a aktualizovat svá hesla, jinak se při získání přístupového tokenu zobrazí
AADSTS50055: The password is expired
chyba.Když se nový uživatel přihlásí, zobrazí se výzva Nutná akce. Ověření můžete přeskočit výběrem možnosti Požádat později .
Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte vybrané položky. Vyberte Vytvořit a vytvořte uživatele.
Aktualizace konfigurace OAuth2 pro autorizaci uživatelského rozhraní Swaggeru
Pomocí následujících kroků aktualizujte konfiguraci OAuth2 pro autorizaci uživatelského rozhraní Swagger. Potom můžete autorizovat uživatele k získání přístupových tokenů prostřednictvím ToDoWeb
aplikace.
Otevřete tenanta Microsoft Entra ID na webu Azure Portal a přejděte do registrované
ToDoWeb
aplikace.V části Spravovat vyberte Ověřování, vyberte Přidat platformu a pak vyberte Jednostrákovou aplikaci.
<your-app-exposed-application-URL-or-endpoint>/swagger-ui/oauth2-redirect.html
Formát použijte jako adresu URL pro přesměrování OAuth2 v poli Identifikátory URI přesměrování a pak vyberte Konfigurovat.
2. Příprava projektu Spring
Pokud chcete nasadit aplikaci RESTful API, prvním krokem je příprava projektu Spring na místní spuštění.
Pomocí následujících kroků naklonujte a spusťte aplikaci místně:
Pomocí následujícího příkazu naklonujte ukázkový projekt z GitHubu:
git clone https://github.com/Azure-Samples/ASA-Samples-Restful-Application.git
Pokud chcete aplikaci spustit místně, nejprve proveďte kroky v části Zveřejnění rozhraní RESTful API a aktualizujte konfigurační oddíly aplikace a pak pomocí následujícího příkazu spusťte ukázkovou aplikaci pomocí Mavenu:
cd ASA-Samples-Restful-Application ./mvnw spring-boot:run
3. Příprava cloudového prostředí
Hlavní prostředky potřebné ke spuštění této ukázkové aplikace jsou instance Azure Spring Apps a instance Azure Database for PostgreSQL. Následující části popisují, jak tyto prostředky vytvořit.
3.1. Přihlaste se k portálu Azure Portal.
Přejděte na web Azure Portal a zadejte svoje přihlašovací údaje pro přihlášení k portálu. Výchozím zobrazením je váš řídicí panel služby.
3.2. Vytvoření instance Azure Spring Apps
K vytvoření instance služby použijte následující postup:
V rohu portálu vyberte Vytvořit prostředek .
Vyberte Compute>Azure Spring Apps.
Vyplňte formulář Základy . Jako vodítko pro dokončení formuláře použijte následující tabulku. Doporučená hodnota plánu je Spotřeba standardu a vyhrazená (Preview).
Nastavení Navrhovaná hodnota Popis Předplatné Název vašeho předplatného Předplatné Azure, které chcete použít pro váš server. Pokud máte více předplatných, zvolte předplatné, ve kterém chcete prostředek fakturovat. Skupina prostředků myresourcegroup Název nové skupiny prostředků nebo některé ze stávajících ve vašem předplatném. Název myasa Jedinečný název, který identifikuje vaši službu Azure Spring Apps. Název musí mít délku 4 až 32 znaků a může obsahovat jenom malá písmena, číslice a pomlčky. První znak názvu služby musí být písmeno a poslední znak musí být písmeno nebo číslo. Plán Standardní spotřeba a vyhrazená verze (Preview) Cenový plán určuje prostředky a náklady spojené s vaší instancí. Oblast Oblast, která je nejblíže vašim uživatelům. Umístění co nejblíže vašim uživatelům. Prostředí Container Apps myenvironment Možnost výběru instance prostředí Container Apps pro sdílení stejné virtuální sítě s jinými službami a prostředky. Jako vodítko pro vytvoření prostředí Container Apps použijte následující tabulku:
Nastavení Navrhovaná hodnota Popis Název prostředí myenvironment Jedinečný název, který identifikuje vaši službu Azure Container Apps Environment. Plán Využití Cenový plán určuje prostředky a náklady spojené s vaší instancí. Zónově redundantní Zakázáno Možnost vytvořit službu Container Apps Environment v zóně dostupnosti Azure. Výběrem možnosti Zkontrolovat a Vytvořit zkontrolujte vybrané možnosti. Pak vyberte Vytvořit a zřiďte instanci Azure Spring Apps.
Pokud chcete monitorovat proces nasazení, na panelu nástrojů vyberte ikonu Oznámení (zvonek). Po dokončení nasazení můžete vybrat Připnout na řídicí panel, který vytvoří dlaždici pro tuto službu na řídicím panelu webu Azure Portal jako zástupce na stránce Přehled služby.
Výběrem možnosti Přejít k prostředku otevřete stránku Přehled služby.
Důležité
Profil úlohy Consumption má model fakturace s průběžnými platbami bez počátečních nákladů. Na základě zřízených prostředků se vám účtuje vyhrazený profil úloh. Další informace najdete v tématu Profily úloh v cenách Azure Container Apps a Azure Spring Apps.
3.3. Příprava instance PostgreSQL
Pomocí následujících kroků vytvořte server Azure Database for PostgreSQL:
Přejděte na web Azure Portal a vyberte Vytvořit prostředek.
Vyberte Databáze>Azure Database for PostgreSQL.
Vyberte možnost nasazení flexibilního serveru .
Na kartě Základy vyplňte následující informace:
- Název serveru: my-demo-pgsql
- Oblast: USA – východ
- Verze PostgreSQL: 14
- Typ úlohy: Vývoj
- Povolení vysoké dostupnosti: nevybrané
- Metoda ověřování: Pouze ověřování PostgreSQL
- Uživatelské jméno správce: myadmin
- Heslo a potvrzení hesla: Zadejte heslo.
Ke konfiguraci karty Sítě použijte následující informace:
- Metoda připojení: Veřejný přístup (povolené IP adresy)
- Povolit veřejný přístup z libovolné služby Azure v rámci Azure na tento server: vybráno
Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte výběry a výběrem možnosti Vytvořit zřiďte server. Tato operace může trvat několik minut.
Na webu Azure Portal přejděte na Server PostgreSQL. Na stránce Přehled vyhledejte hodnotu název serveru a potom ji poznamenejte pro pozdější použití. Potřebujete ji ke konfiguraci proměnných prostředí pro aplikaci v Azure Spring Apps.
V navigační nabídce vyberte Databáze a vytvořte databázi – například úkol.
3.4. Připojení instance aplikace k instanci PostgreSQL
K připojení instancí služby použijte následující postup:
Na webu Azure Portal přejděte ke své instanci Azure Spring Apps.
V navigační nabídce otevřete aplikace a pak vyberte Vytvořit aplikaci.
Na stránce Vytvořit aplikaci vyplňte název aplikace simple-todo-api a jako typ nasazení vyberte artefakty Java.
Výběrem možnosti Vytvořit dokončíte vytváření aplikace a výběrem aplikace zobrazíte podrobnosti.
Přejděte do aplikace, kterou jste vytvořili na webu Azure Portal. Na stránce Přehled vyberte Přiřadit koncový bod, aby se veřejný koncový bod aplikace zpřístupnil. Uložte adresu URL pro přístup k aplikaci po nasazení.
Přejděte do aplikace, kterou jste vytvořili, rozbalte Nastavení a v navigační nabídce vyberte Možnost Konfigurace a pak vyberte Proměnné prostředí a nastavte proměnné prostředí.
Přidejte následující proměnné prostředí pro připojení PostgreSQL a pak výběrem možnosti Uložit dokončete aktualizaci konfigurace aplikace. Zástupné symboly nezapomeňte nahradit vlastními hodnotami, které jste vytvořili dříve.
Proměnná prostředí Hodnota 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. Zveřejnění rozhraní RESTful API
Pomocí následujících kroků zpřístupněte rozhraní RESTful API v Microsoft Entra ID:
Přihlaste se k portálu Azure.
Pokud máte přístup k více tenantům, pomocí filtru Adresář a předplatné ( ) vyberte tenanta, ve kterém chcete aplikaci zaregistrovat.
Vyhledejte a vyberte Microsoft Entra ID.
V části Spravovat vyberte Registrace aplikací> Nová registrace.
Do pole Název zadejte název aplikace – například Todo. Uživatelé vaší aplikace můžou vidět tento název a později ho můžete změnit.
U podporovaných typů účtů vyberte Účty v libovolném organizačním adresáři (libovolný adresář Microsoft Entra – Víceklient) a osobní účty Microsoft.
Výběrem možnosti Registrovat aplikaci vytvořte.
Na stránce Přehled aplikace vyhledejte hodnotu ID aplikace (klienta) a potom ji poznamenejte pro pozdější použití. Potřebujete ho ke konfiguraci konfiguračního souboru YAML pro tento projekt.
V části Spravovat vyberte Zveřejnit rozhraní API, na začátku stránky vyhledejte identifikátor URI ID aplikace a pak vyberte Přidat.
Na stránce Upravit identifikátor URI ID aplikace přijměte navrhovaný identifikátor URI ID aplikace (
api://{client ID}
) nebo použijte smysluplný název místo ID klienta, napříkladapi://simple-todo
a pak vyberte Uložit.V části Spravovat vyberte Zveřejnit rozhraní API>Přidat obor a zadejte následující informace:
- Jako název oboru zadejte ToDo.Read.
- U možnosti Kdo může souhlasit, vyberte pouze správci.
- Jako zobrazovaný název souhlasu správce zadejte Číst data toDo.
- Jako popis souhlasu správce zadejte Možnost Umožňuje ověřeným uživatelům číst data ToDo.
- V případě státu ho ponechte povolenou.
- Vyberte Přidat rozsah.
Opakujte předchozí kroky a přidejte další dva obory: ToDo.Write a ToDo.Delete.
3.6. Aktualizace konfigurace aplikace
Pomocí následujících kroků aktualizujte soubor YAML tak, aby používal informace o vaší aplikaci zaregistrované v Microsoft Entra k navázání relace s aplikací RESTful API:
Vyhledejte soubor src/main/resources/application.yml aplikace
simple-todo-api
. Aktualizujte konfiguraci vspring.cloud.azure.active-directory
části tak, aby odpovídala následujícímu příkladu. Zástupné symboly nezapomeňte nahradit hodnotami, které jste vytvořili dříve.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>
Poznámka:
V tokenech v1.0 konfigurace vyžaduje ID klienta rozhraní API, zatímco v tokenech v2.0 můžete v požadavku použít ID klienta nebo identifikátor URI ID aplikace. Obě možnosti můžete nakonfigurovat tak, aby správně dokončily ověřování cílové skupiny.
Povolené hodnoty
tenant-id
jsou:common
,organizations
,consumers
nebo ID tenanta. Další informace o těchto hodnotách najdete v části Použití nesprávného koncového bodu (osobních účtů a účtů organizace) v části Chyba AADSTS50020 – Uživatelský účet od zprostředkovatele identity v tenantovi neexistuje. Informace o převodu aplikace s jedním tenantem najdete v tématu Převod aplikace s jedním tenantem na víceklienta na ID Microsoft Entra.Pomocí následujícího příkazu znovu sestavte ukázkový projekt:
./mvnw clean package
4. Nasazení aplikace do Azure Spring Apps
Aplikaci teď můžete nasadit do Azure Spring Apps.
Pomocí následujících kroků nasaďte modul plug-in Maven pro Azure Spring Apps:
Přejděte do úplného adresáře a spuštěním následujícího příkazu nakonfigurujte aplikaci v Azure Spring Apps:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
Následující seznam popisuje interakce příkazů:
- Přihlášení OAuth2: Musíte autorizovat přihlášení k Azure na základě protokolu OAuth2.
- Vyberte předplatné: Vyberte číslo seznamu předplatných instance Azure Spring Apps, kterou jste vytvořili. Výchozí hodnota je první předplatné v seznamu. Pokud použijete výchozí číslo, stiskněte klávesu Enter přímo.
- Použití existujících aplikací Azure Spring Apps v Azure: Stisknutím klávesy y použijte existující instanci Azure Spring Apps.
- Vyberte Azure Spring Apps pro nasazení: Vyberte počet instance Azure Spring Apps, kterou jste vytvořili. Pokud použijete výchozí číslo, stiskněte klávesu Enter přímo.
- Použijte existující aplikaci ve službě Azure Spring Apps <s názvem> vaší instance: Stisknutím klávesy y použijte vytvořenou aplikaci.
- Potvrďte uložení všech výše uvedených konfigurací: Stiskněte y. Pokud stisknete klávesu n, konfigurace se neuloží do souborů POM.
K nasazení aplikace použijte následující příkaz:
./mvnw azure-spring-apps:deploy
Následující seznam popisuje interakci s příkazy:
- Přihlášení OAuth2: Musíte autorizovat přihlášení k Azure na základě protokolu OAuth2.
Po spuštění příkazu se zobrazí následující zprávy protokolu, které nasazení proběhlo úspěšně:
[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. Ověření aplikace
Teď můžete získat přístup k rozhraní RESTful API a zjistit, jestli funguje.
5.1. Vyžádání přístupového tokenu
Rozhraní RESTful API fungují jako server prostředků, který je chráněný id Microsoft Entra. Před získáním přístupového tokenu je nutné zaregistrovat jinou aplikaci v Microsoft Entra ID a udělit oprávnění klientské aplikaci, která je pojmenována ToDoWeb
.
Registrace klientské aplikace
Pomocí následujícího postupu zaregistrujte aplikaci v MICROSOFT Entra ID, která se používá k přidání oprávnění pro ToDo
aplikaci:
Přihlaste se k portálu Azure.
Pokud máte přístup k více tenantům, pomocí filtru Adresář a předplatné ( ) vyberte tenanta, ve kterém chcete aplikaci zaregistrovat.
Vyhledejte a vyberte Microsoft Entra ID.
V části Spravovat vyberte Registrace aplikací> Nová registrace.
Do pole Název zadejte název aplikace – například ToDoWeb. Uživatelé vaší aplikace můžou vidět tento název a později ho můžete změnit.
U podporovaných typů účtů použijte pouze výchozí hodnotu Účty v tomto organizačním adresáři.
Výběrem možnosti Registrovat aplikaci vytvořte.
Na stránce Přehled aplikace vyhledejte hodnotu ID aplikace (klienta) a potom ji poznamenejte pro pozdější použití. Potřebujete ho k získání přístupového tokenu.
Vyberte oprávnění>rozhraní API Přidat oprávnění>Moje rozhraní API.
ToDo
Vyberte aplikaci, kterou jste zaregistrovali dříve, a pak vyberte oprávnění ToDo.Read, ToDo.Write a ToDo.Delete. Vyberte Přidat oprávnění.Pokud chcete udělit souhlas správce s oprávněními, která jste přidali, vyberte Udělit souhlas správce pro <vaše jméno> tenanta.
Přidání uživatele pro přístup k rozhraním RESTful API
Pomocí následujícího postupu vytvořte člena uživatele v tenantovi Microsoft Entra. Uživatel pak může spravovat data ToDo
aplikace prostřednictvím rozhraní RESTful API.
V části Spravovat vyberte Uživatelé>Nový uživatel>Vytvořit nového uživatele.
Na stránce Vytvořit nového uživatele zadejte následující informace:
- Hlavní název uživatele: Zadejte název uživatele.
- Zobrazované jméno: Zadejte zobrazované jméno uživatele.
- Heslo: Zkopírujte automaticky vygenerované heslo zadané v poli Heslo .
Poznámka:
Noví uživatelé musí dokončit první přihlášení a aktualizovat svá hesla, jinak se při získání přístupového tokenu zobrazí
AADSTS50055: The password is expired
chyba.Když se nový uživatel přihlásí, zobrazí se výzva Nutná akce. Ověření můžete přeskočit výběrem možnosti Požádat později .
Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte vybrané položky. Vyberte Vytvořit a vytvořte uživatele.
Aktualizace konfigurace OAuth2 pro autorizaci uživatelského rozhraní Swaggeru
Pomocí následujících kroků aktualizujte konfiguraci OAuth2 pro autorizaci uživatelského rozhraní Swagger. Potom můžete autorizovat uživatele k získání přístupových tokenů prostřednictvím ToDoWeb
aplikace.
Otevřete tenanta Microsoft Entra ID na webu Azure Portal a přejděte do registrované
ToDoWeb
aplikace.V části Spravovat vyberte Ověřování, vyberte Přidat platformu a pak vyberte Jednostrákovou aplikaci.
<your-app-exposed-application-URL-or-endpoint>/swagger-ui/oauth2-redirect.html
Formát použijte jako adresu URL pro přesměrování OAuth2 v poli Identifikátory URI přesměrování a pak vyberte Konfigurovat.
Získání přístupového tokenu
Pomocí následujícího postupu použijte metodu toku autorizačního kódu OAuth 2.0 k získání přístupového tokenu s ID Microsoft Entra a pak získejte přístup k rozhraním RESTful API ToDo
aplikace:
Otevřete adresu URL vystavenou aplikací a pak výběrem možnosti Autorizovat připravte ověřování OAuth2.
V okně Dostupné autorizace zadejte ID
ToDoWeb
klienta aplikace do pole client_id, vyberte všechny obory pro pole Obory, ignorujte pole client_secret a pak vyberte Autorizovat, aby se přesměrovával na přihlašovací stránku Microsoft Entra.
Po dokončení přihlášení s předchozím uživatelem se vrátíte do okna Dostupná autorizace .
5.2. Přístup k rozhraním RESTful API
Pro přístup k rozhraním RESTful API ToDo
aplikace v uživatelském rozhraní Swagger použijte následující postup:
Vyberte rozhraní API POST /api/simple-todo/lists a pak vyberte Vyzkoušet. Zadejte následující text požadavku a pak vyberte Spustit a vytvořte seznam úkolů.
{ "name": "My List" }
Po dokončení provádění se zobrazí následující text odpovědi:
{ "id": "<ID-of-the-ToDo-list>", "name": "My List", "description": null }
Vyberte rozhraní API POST /api/simple-todo/lists/{listId}/items a pak vyberte Vyzkoušet. Jako listId zadejte ID seznamu úkolů, které jste vytvořili dříve, zadejte následující text požadavku a pak vyberte Spustit a vytvořte položku ToDo.
{ "name": "My first ToDo item", "listId": "<ID-of-the-ToDo-list>", "state": "todo" }
Tato akce vrátí následující položku toDo:
{ "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 }
Vyberte rozhraní API GET /api/simple-todo/lists a pak vyberte Spustit pro dotazování seznamů úkolů. Tato akce vrátí následující seznamy úkolů:
[ { "id": "<ID-of-the-ToDo-list>", "name": "My List", "description": null } ]
Vyberte rozhraní API GET /api/simple-todo/lists/{listId}/items a pak vyberte Vyzkoušet. Jako listId zadejte ID seznamu úkolů, které jste vytvořili dříve, a pak vyberte Spustit a zadejte dotaz na položky ToDo. Tato akce vrátí následující položku toDo:
[ { "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 } ]
Vyberte rozhraní API PUT /api/simple-todo/lists/{listId}/items/{itemId} a pak vyberte Vyzkoušet. Jako listId zadejte ID seznamu úkolů. Jako itemId zadejte ID položky ToDo, zadejte následující text požadavku a pak vyberte Spustit a aktualizujte položku ToDo.
{ "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" }
Tato akce vrátí následující aktualizovanou položku toDo:
{ "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 }
Vyberte rozhraní API DELETE /api/simple-todo/lists/{listId}/items/{itemId} a pak vyberte Vyzkoušet. Jako listId zadejte ID seznamu úkolů. Jako itemId zadejte ID položky ToDo a pak vyberte Spustit , chcete-li položku ToDo odstranit. Měli byste vidět, že kód odpovědi serveru je
204
.
6. Vyčištění prostředků
Můžete odstranit skupinu prostředků Azure, což zahrnuje odstranění všech prostředků v této skupině prostředků.
Pomocí následujících kroků odstraňte celou skupinu prostředků, včetně nově vytvořené služby:
Vyhledejte skupinu prostředků na webu Azure Portal.
V navigační nabídce vyberte skupiny prostředků. Pak vyberte název vaší skupiny prostředků , například myresourcegroup.
Na stránce vaší skupiny prostředků vyberte Odstranit. Do textového pole zadejte název vaší skupiny prostředků, abyste potvrdili odstranění – například myresourcegroup. Pak vyberte Odstranit.
Pomocí následujících kroků odstraňte celou skupinu prostředků, včetně nově vytvořené služby:
Vyhledejte skupinu prostředků na webu Azure Portal.
V navigační nabídce vyberte skupiny prostředků. Pak vyberte název vaší skupiny prostředků , například myresourcegroup.
Na stránce vaší skupiny prostředků vyberte Odstranit. Do textového pole zadejte název vaší skupiny prostředků, abyste potvrdili odstranění – například myresourcegroup. Pak vyberte Odstranit.
7. Další kroky
Další informace najdete v následujících článcích:
- Ukázky Azure Spring Apps
- Spring v Azure
- Spring Cloud Azure