Rychlý start: Nasazení aplikace RESTful API do Azure Spring Apps

Poznámka:

Prvních 50 vCPU hodin a 100 GB paměti je každý měsíc zdarma. Další informace najdete v tématu Snížení cen – Azure Spring Apps dělá více, náklady na méně! na blogu o aplikacích v Azure.

Poznámka:

Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.

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.

Snímek obrazovky s uživatelským rozhraním Swagger, které zobrazuje dokument rozhraní API

Následující diagram znázorňuje architekturu systému:

Diagram znázorňující architekturu webové aplikace Spring

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

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ě:

  1. 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
    
  2. 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:

  1. V rohu webu Azure Portal vyberte Vytvořit prostředek .

  2. Vyberte Compute>Azure Spring Apps.

  3. 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.
    Podmínky 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.
  4. 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.

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

    Snímek obrazovky webu Azure Portal znázorňující podokno Oznámení pro vytvoření Azure Spring Apps

  6. 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:

  1. Přejděte na web Azure Portal a vyberte Vytvořit prostředek.

  2. Vyberte Databáze>Azure Database for PostgreSQL.

  3. Vyberte možnost nasazení flexibilního serveru .

    Snímek obrazovky webu Azure Portal znázorňující stránku s možností vybrat azure Database for PostgreSQL

  4. 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áva: myadmin
    • Heslo a potvrzení hesla: Zadejte heslo.
  5. Ke konfiguraci karty Sítě použijte následující informace:

    • metoda Připojení ivity: 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
  6. 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.

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

  8. V navigační nabídce vyberte Databáze a vytvořte databázi – například úkol.

    Snímek obrazovky webu Azure Portal zobrazící stránku Databáze s otevřeným podoknem Vytvořit databázi

3.4. instance aplikace Připojení do instance PostgreSQL

K připojení instancí služby použijte následující postup:

  1. Na webu Azure Portal přejděte ke své instanci Azure Spring Apps.

  2. V navigační nabídce otevřete aplikace a pak vyberte Vytvořit aplikaci.

  3. Na stránce Vytvořit aplikaci vyplňte název aplikace simple-todo-api a jako typ nasazení vyberte artefakty Java.

  4. Výběrem možnosti Vytvořit dokončíte vytvoření aplikace a pak ji vyberete, aby se zobrazily podrobnosti.

  5. 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í.

  6. V navigačním podokně vyberte Service Připojení or a pak vyberte Vytvořit a vytvořte nové připojení služby.

    Snímek obrazovky webu Azure Portal se stránkou Připojení orové služby podnikového plánu se zvýrazněným tlačítkem Vytvořit

  7. Na kartě Základy vyplňte následující informace:

    • Typ služby: Flexibilní server DB for PostgreSQL
    • Připojení ionový název: 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

    Snímek obrazovky webu Azure Portal s kartou Základy podokna Vytvořit připojení pro připojení ke službě Service Bus

  8. Nakonfigurujte kartu Další: Ověřování s následujícími informacemi:

    • Vyberte typ ověřování, který chcete použít mezi výpočetní službou a cílovou službou.: Vyberte Připojení ionový řetězec.
    • Pokračovat v...: Výběr přihlašovacích údajů databáze
    • Uživatelské jméno: myadmin
    • Heslo: Zadejte heslo.

    Snímek obrazovky webu Azure Portal znázorňující kartu Ověřování v podokně Vytvořit připojení se zvýrazněnou možností řetězce Připojení ion

  9. Vyberte Další: Sítě. Pomocí výchozí možnosti Konfigurovat pravidla brány firewall povolte přístup k cílové službě.

  10. 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:

  1. Přihlaste se k portálu Azure.

  2. Pokud máte přístup k více tenantům, pomocí filtru Adresář a předplatné ( ) vyberte tenanta, ve kterém chcete aplikaci zaregistrovat.

  3. Vyhledejte a vyberte Microsoft Entra ID.

  4. V části Spravovat vyberte Registrace aplikací> Nová registrace.

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

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

  7. Výběrem možnosti Registrovat aplikaci vytvořte.

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

  9. V části Spravovat vyberte Zveřejnit rozhraní API, na začátku stránky vyhledejte identifikátor URI ID aplikace a pak vyberte Přidat.

  10. 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říklad api://simple-todoa pak vyberte Uložit.

  11. 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 Kdo souhlasu vyberte pouze Správa.
    • Do pole Správa zobrazovaný název souhlasu zadejte data ToDo.
    • Pokud chcete Správa popis souhlasu, 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.
  12. Opakujte předchozí kroky a přidejte další dva obory: ToDo.Write a ToDo.Delete.

    Snímek obrazovky webu Azure Portal se stránkou Zveřejnit rozhraní API aplikace RESTful API

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:

  1. Vyhledejte soubor src/main/resources/application.yml aplikace simple-todo-api . Aktualizujte konfiguraci v spring.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, consumersnebo 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.

  2. 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:

  1. 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.
  2. 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:

  1. Přihlaste se k portálu Azure.

  2. Pokud máte přístup k více tenantům, pomocí filtru Adresář a předplatné ( ) vyberte tenanta, ve kterém chcete aplikaci zaregistrovat.

  3. Vyhledejte a vyberte Microsoft Entra ID.

  4. V části Spravovat vyberte Registrace aplikací> Nová registrace.

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

  6. U podporovaných typů účtů použijte pouze výchozí hodnotu Účty v tomto organizačním adresáři.

  7. Výběrem možnosti Registrovat aplikaci vytvořte.

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

  9. 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í.

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

    Snímek obrazovky webu Azure Portal znázorňující oprávnění rozhraní API webové aplikace

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.

  1. V části Spravovat vyberte Uživatelé>Nový uživatel>Vytvořit nového uživatele.

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

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

  1. Otevřete tenanta Microsoft Entra ID na webu Azure Portal a přejděte do registrované ToDoWeb aplikace.

  2. V části Spravovat vyberte Ověřování, vyberte Přidat platformu a pak vyberte Jednostrákovou aplikaci.

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

    Snímek obrazovky webu Azure Portal se stránkou Ověřování pro ID Microsoft Entra

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ě:

  1. 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
    
  2. 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:

  1. V rohu portálu vyberte Vytvořit prostředek .

  2. Vyberte Compute>Azure Spring Apps.

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

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

  6. Výběrem možnosti Přejít k prostředku otevřete stránku Přehled služby.

    Snímek obrazovky webu Azure Portal zobrazící stránku Přehled s otevřenou stránkou Oznámení

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:

  1. Přejděte na web Azure Portal a vyberte Vytvořit prostředek.

  2. Vyberte Databáze>Azure Database for PostgreSQL.

  3. Vyberte možnost nasazení flexibilního serveru .

    Snímek obrazovky webu Azure Portal znázorňující stránku s možností vybrat azure Database for PostgreSQL

  4. 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áva: myadmin
    • Heslo a potvrzení hesla: Zadejte heslo.
  5. Ke konfiguraci karty Sítě použijte následující informace:

    • metoda Připojení ivity: 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
  6. 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.

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

  8. V navigační nabídce vyberte Databáze a vytvořte databázi – například úkol.

    Snímek obrazovky webu Azure Portal zobrazící stránku Databáze s otevřeným podoknem Vytvořit databázi

3.4. instance aplikace Připojení do instance PostgreSQL

K připojení instancí služby použijte následující postup:

  1. Na webu Azure Portal přejděte ke své instanci Azure Spring Apps.

  2. V navigační nabídce otevřete aplikace a pak vyberte Vytvořit aplikaci.

  3. Na stránce Vytvořit aplikaci vyplňte název aplikace simple-todo-api a jako typ nasazení vyberte artefakty Java.

  4. Výběrem možnosti Vytvořit dokončíte vytváření aplikace a výběrem aplikace zobrazíte podrobnosti.

  5. 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í.

  6. 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í.

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

    Snímek obrazovky webu Azure Portal znázorňující kartu Proměnné prostředí se všemi hodnotami pro připojení PostgreSQL

3.5. Zveřejnění rozhraní RESTful API

Pomocí následujících kroků zpřístupněte rozhraní RESTful API v Microsoft Entra ID:

  1. Přihlaste se k portálu Azure.

  2. Pokud máte přístup k více tenantům, pomocí filtru Adresář a předplatné ( ) vyberte tenanta, ve kterém chcete aplikaci zaregistrovat.

  3. Vyhledejte a vyberte Microsoft Entra ID.

  4. V části Spravovat vyberte Registrace aplikací> Nová registrace.

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

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

  7. Výběrem možnosti Registrovat aplikaci vytvořte.

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

  9. V části Spravovat vyberte Zveřejnit rozhraní API, na začátku stránky vyhledejte identifikátor URI ID aplikace a pak vyberte Přidat.

  10. 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říklad api://simple-todoa pak vyberte Uložit.

  11. 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 Kdo souhlasu vyberte pouze Správa.
    • Do pole Správa zobrazovaný název souhlasu zadejte data ToDo.
    • Pokud chcete Správa popis souhlasu, 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.
  12. Opakujte předchozí kroky a přidejte další dva obory: ToDo.Write a ToDo.Delete.

    Snímek obrazovky webu Azure Portal se stránkou Zveřejnit rozhraní API aplikace RESTful API

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:

  1. Vyhledejte soubor src/main/resources/application.yml aplikace simple-todo-api . Aktualizujte konfiguraci v spring.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, consumersnebo 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.

  2. 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:

  1. 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.
  2. 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:

  1. Přihlaste se k portálu Azure.

  2. Pokud máte přístup k více tenantům, pomocí filtru Adresář a předplatné ( ) vyberte tenanta, ve kterém chcete aplikaci zaregistrovat.

  3. Vyhledejte a vyberte Microsoft Entra ID.

  4. V části Spravovat vyberte Registrace aplikací> Nová registrace.

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

  6. U podporovaných typů účtů použijte pouze výchozí hodnotu Účty v tomto organizačním adresáři.

  7. Výběrem možnosti Registrovat aplikaci vytvořte.

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

  9. 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í.

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

    Snímek obrazovky webu Azure Portal znázorňující oprávnění rozhraní API webové aplikace

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.

  1. V části Spravovat vyberte Uživatelé>Nový uživatel>Vytvořit nového uživatele.

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

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

  1. Otevřete tenanta Microsoft Entra ID na webu Azure Portal a přejděte do registrované ToDoWeb aplikace.

  2. V části Spravovat vyberte Ověřování, vyberte Přidat platformu a pak vyberte Jednostrákovou aplikaci.

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

    Snímek obrazovky webu Azure Portal se stránkou Ověřování pro ID Microsoft Entra

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:

  1. Otevřete adresu URL vystavenou aplikací a pak výběrem možnosti Autorizovat připravte ověřování OAuth2.

  2. 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:

  1. 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
    }
    
  2. 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
    }
    
  3. 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
      }
    ]
    
  4. 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
      }
    ]
    
  5. 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
    }
    
  6. 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:

  1. Vyhledejte skupinu prostředků na webu Azure Portal.

  2. V navigační nabídce vyberte skupiny prostředků. Pak vyberte název vaší skupiny prostředků , například myresourcegroup.

  3. 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:

  1. Vyhledejte skupinu prostředků na webu Azure Portal.

  2. V navigační nabídce vyberte skupiny prostředků. Pak vyberte název vaší skupiny prostředků , například myresourcegroup.

  3. 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: