Share via


Java-alkalmazás üzembe helyezése a Quarkus használatával egy Azure Container Appsen

Ez a cikk bemutatja, hogyan helyezheti üzembe gyorsan a Red Hat Quarkus-t a Microsoft Azure Container Appsben egy egyszerű CRUD-alkalmazással. Az alkalmazás egy JavaScript-előtérrel és REST-végponttal rendelkező "teendőlista". Az Azure Database for PostgreSQL biztosítja az alkalmazás adatmegőrzési rétegét. A cikk bemutatja, hogyan tesztelheti az alkalmazást helyileg, és hogyan helyezheti üzembe a Container Appsben.

Előfeltételek

  • Ha nem rendelkezik Azure-előfizetéssel, első lépésként mindössze néhány perc alatt létrehozhat egy ingyenes fiókot.
  • Az Azure Cloud Shell ezeket az előfeltételeket előre telepítette. További információt az Azure Cloud Shell rövid útmutatójában talál.
  • Ha az útmutatóban található parancsokat helyileg futtatja (az Azure Cloud Shell használata helyett), hajtsa végre a következő lépéseket:
    • Helyi gép előkészítése Unix-szerű operációs rendszerrel (például Ubuntu, macOS vagy Linuxos Windows-alrendszer).
    • Telepítse a Java Standard kiadás 17-es vagy újabb verzióját (például az OpenJDK Microsoft-buildet).
    • Telepítse a Maven 3.5.0-s vagy újabb verzióját.
    • Telepítse a Dockert vagy a Podmant az operációs rendszerhez.
    • Telepítse a jq-t.
    • Telepítse a cURL-t.
    • Telepítse a Quarkus CLI 3.4.1 vagy újabb verzióját.
  • Azure CLI Unix-szerű környezetekhez. Ehhez a cikkhez csak az Azure CLI Bash-változata szükséges.
    • Telepítse az Azure CLI-t , és jelentkezzen be interaktívan az az login paranccsal, amellyel a kód használata DefaultAzureCredential előtt bejelentkezhet az Azure-ba.
      az login
      
    • Ez a cikk az Azure CLI legalább 2.31.0-s verzióját igényli. Ha Az Azure Cloud Shellt használja, a legújabb verzió már telepítve van.

Az alkalmazásprojekt létrehozása

A cikkhez tartozó Java-mintaprojekt klónozásához használja az alábbi parancsot. A minta a GitHubon található.

git clone https://github.com/Azure-Samples/quarkus-azure
cd quarkus-azure
git checkout 2023-09-13
cd aca-quarkus

Ha a leválasztásos HEAD állapotról szóló üzenet jelenik meg, ezt az üzenetet nyugodtan figyelmen kívül hagyhatja. Mivel ez a cikk nem igényel véglegesítést, a leválasztott HEAD-állapot megfelelő.

A Quarkus-alkalmazás helyi tesztelése

Az ebben a szakaszban ismertetett lépések bemutatják, hogyan futtathatja az alkalmazást helyileg.

A Quarkus támogatja a nem konfigurált szolgáltatások automatikus kiépítését fejlesztési és tesztelési módban. A Quarkus erre a képességre dev szolgáltatásként hivatkozik. Tegyük fel, hogy tartalmaz egy Quarkus-funkciót, például egy adatbázis-szolgáltatáshoz való csatlakozást. Tesztelni szeretné az alkalmazást, de még nem konfigurálta teljes mértékben a kapcsolatot egy valódi adatbázissal. A Quarkus automatikusan elindítja az adott szolgáltatás csonkverzióját, és csatlakoztatja az alkalmazást hozzá. További információ: A Dev Services áttekintése a Quarkus dokumentációjában.

Győződjön meg arról, hogy a Tárolókörnyezet (Docker vagy Podman) fut, és az alábbi paranccsal lépjen be a Quarkus fejlesztői módba:

quarkus dev

Ahelyett quarkus dev, hogy ugyanezt a dolgot maven használatával mvn quarkus:dev.

Előfordulhat, hogy a rendszer megkérdezi, hogy szeretne-e telemetriát küldeni a Quarkus fejlesztői módjának használatáról. Ha igen, válaszoljon úgy, ahogy szeretné.

A Quarkus fejlesztői mód lehetővé teszi az élő újratöltést háttér-összeállítással. Ha módosítja az alkalmazás forráskódjának bármely aspektusát, és frissíti a böngészőt, láthatja a módosításokat. Ha bármilyen probléma merül fel a fordítással vagy az üzembe helyezéssel kapcsolatban, egy hibaoldal tájékoztatja Önt. A Quarkus fejlesztői mód az 5005-ös porton figyeli a hibakeresőt. Ha a futtatás előtt meg szeretné várni, hogy a hibakereső csatolva legyen, adja át -Dsuspend a parancssort. Ha egyáltalán nem szeretné, hogy a hibakeresőt használja -Ddebug=false.

A kimenetnek a következő példához hasonlóan kell kinéznie:

__  ____  __  _____   ___  __ ____  ______
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
INFO  [io.quarkus] (Quarkus Main Thread) quarkus-todo-demo-app-aca 1.0.0-SNAPSHOT on JVM (powered by Quarkus 3.2.0.Final) started in 14.826s. Listening on: http://localhost:8080
INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [agroal, cdi, hibernate-orm, hibernate-validator, jdbc-postgresql, narayana-jta, resteasy-reactive, resteasy-reactive-jackson, smallrye-context-propagation, vertx]

--
Tests paused
Press [e] to edit command line args (currently ''), [r] to resume testing, [o] Toggle test output, [:] for the terminal, [h] for more options>

Nyomja le a w billentyűt azon a terminálon, amelyen a Quarkus fejlesztői mód fut. A w billentyű megnyitja az alapértelmezett webböngészőt az Todo alkalmazás megjelenítéséhez. Az alkalmazás grafikus felhasználói felületét http://localhost:8080 közvetlenül is elérheti.

Screenshot of the Todo sample app.

Próbáljon meg kijelölni néhány teendőelemet a teendőlistában. A felhasználói felület áthúzott szövegstílusú kijelölést jelez. Az alábbi képernyőképen látható módon új teendőelemet is hozzáadhat a teendőlistához a Todo-alkalmazások ellenőrzése és az ENTER billentyű lenyomásával:

Screenshot of the Todo sample app with new items added.

A RESTful API (/api) elérése a helyi PostgreSQL-adatbázisban tárolt összes teendőelem lekéréséhez:

curl --verbose http://localhost:8080/api | jq .

A kimenetnek a következő példához hasonlóan kell kinéznie:

* Connected to localhost (127.0.0.1) port 8080 (#0)
> GET /api HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< content-length: 664
< Content-Type: application/json;charset=UTF-8
<
{ [664 bytes data]
100   664  100   664    0     0  13278      0 --:--:-- --:--:-- --:--:-- 15441
* Connection #0 to host localhost left intact
[
  {
    "id": 1,
    "title": "Introduction to Quarkus Todo App",
    "completed": false,
    "order": 0,
    "url": null
  },
  {
    "id": 2,
    "title": "Quarkus on Azure App Service",
    "completed": false,
    "order": 1,
    "url": "https://learn.microsoft.com/en-us/azure/developer/java/eclipse-microprofile/deploy-microprofile-quarkus-java-app-with-maven-plugin"
  },
  {
    "id": 3,
    "title": "Quarkus on Azure Container Apps",
    "completed": false,
    "order": 2,
    "url": "https://learn.microsoft.com/en-us/training/modules/deploy-java-quarkus-azure-container-app-postgres/"
  },
  {
    "id": 4,
    "title": "Quarkus on Azure Functions",
    "completed": false,
    "order": 3,
    "url": "https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-quarkus"
  },
  {
    "id": 5,
    "title": "Verify Todo apps",
    "completed": false,
    "order": 5,
    "url": null
  }
]

Nyomja le a q billentyűt a Quarkus fejlesztői módból való kilépéshez.

Azure-erőforrások létrehozása a Quarkus-alkalmazás futtatásához

Az ebben a szakaszban ismertetett lépések bemutatják, hogyan hozhatja létre a következő Azure-erőforrásokat a Quarkus-mintaalkalmazás futtatásához:

  • Microsoft Azure Database for PostgreSQL
  • Microsoft Azure Container Registry
  • Container Apps

Ezen erőforrások némelyikének egyedi névvel kell rendelkeznie az Azure-előfizetés hatókörén belül. Az egyediség biztosítása érdekében használhatja a monogramot, a sorrendet, a dátumot és az utótagmintát . A minta alkalmazásához nevezze el az erőforrásokat úgy, hogy felsorolja a monogramot, a sorszámot, a mai dátumot és valamilyen erőforrás-specifikus utótagot – például rg az "erőforráscsoportot". A következő parancsokkal definiálhat néhány környezeti változót, amelyet később használhat:

export UNIQUE_VALUE=<your unique value, such as ejb091223>
export RESOURCE_GROUP_NAME=${UNIQUE_VALUE}rg
export LOCATION=<your desired Azure region for deploying your resources. For example, eastus>
export REGISTRY_NAME=${UNIQUE_VALUE}reg
export DB_SERVER_NAME=${UNIQUE_VALUE}db
export DB_PASSWORD=Secret123456
export ACA_ENV=${UNIQUE_VALUE}env
export ACA_NAME=${UNIQUE_VALUE}aca

Azure-adatbázis létrehozása PostgreSQL-hez

Az Azure Database for PostgreSQL egy felügyelt szolgáltatás, amely magas rendelkezésre állású PostgreSQL-adatbázisokat futtat, kezel és méretez az Azure-felhőben. Ez a szakasz egy külön rövid útmutatóra irányítja, amely bemutatja, hogyan hozhat létre egyetlen Azure Database for PostgreSQL-kiszolgálót, és hogyan csatlakozhat hozzá. Ha azonban a rövid útmutató lépéseit követi, az alábbi táblázatban szereplő beállításokat kell használnia az adatbázis központi telepítésének testreszabásához a Quarkus-mintaalkalmazáshoz. Cserélje le a környezeti változókat a tényleges értékükre az Azure Portal mezőinek kitöltésekor.

Setting Value Description
Erőforráscsoport ${RESOURCE_GROUP_NAME} Válassza az Új létrehozása lehetőséget. Az üzembe helyezés létrehozza ezt az új erőforráscsoportot.
Kiszolgáló neve ${DB_SERVER_NAME} Ez az érték az adatbázis-kiszolgáló állomásnevének részét képezi.
Helyen ${LOCATION} Válasszon egy helyet a legördülő listából. Jegyezze fel a helyet. Ezt a helyet kell használnia a többi létrehozott Azure-erőforráshoz is.
Rendszergazdai felhasználónév quarkus A mintakód ezt az értéket feltételezi.
Jelszó ${DB_PASSWORD} A jelszónak legalább 8 karakternek és legfeljebb 128 karakternek kell lennie. A jelszónak tartalmaznia kell karaktereket a következő kategóriák közül legalább háromból: angol nagybetűs karakterek, angol kisbetűs karakterek, számjegyek (0–9) és nem alfanumerikus karakterek (!, $, #, % stb.). A jelszó nem tartalmazhatja a bejelentkezési név egészét vagy egy részét. A bejelentkezési név egy része három vagy több egymást követő alfanumerikus karakterként van definiálva.

Ezeket az értékhelyettesítéseket szem előtt tartva kövesse a rövid útmutató lépéseit : Azure Database for PostgreSQL-kiszolgáló létrehozása az Azure Portal használatával a "Tűzfalszabály konfigurálása" szakaszig. Ezután a "Tűzfalszabály konfigurálása" szakaszban válassza az Igen lehetőséget az Azure-szolgáltatásokhoz való hozzáférés engedélyezéséhez, majd válassza a Mentés lehetőséget. Ha ezt elmulasztja, a Quarkus-alkalmazás nem tud hozzáférni az adatbázishoz, és egyszerűen nem indul el.

Miután elvégezte a gyorsútmutató lépéseit a "Tűzfalszabály konfigurálása" szakaszban, beleértve az Azure-szolgáltatásokhoz való hozzáférés engedélyezésének lépéseit, térjen vissza ehhez a cikkhez.

Todo-adatbázis létrehozása az Azure Database for PostgreSQL-ben

A korábban létrehozott PostgreSQL-kiszolgáló üres. Nem rendelkezik a Quarkus alkalmazással használható adatbázissal. Hozzon létre egy új, az alábbi paranccsal hívott todo adatbázist:

az postgres db create \
    --resource-group ${RESOURCE_GROUP_NAME} \
    --name todo \
    --server-name ${DB_SERVER_NAME}

Az adatbázis neveként kell használnia todo , mert a mintakód feltételezi, hogy az adatbázis neve.

Ha a parancs sikeres, a kimenet az alábbi példához hasonlóan néz ki:

{
  "charset": "UTF8",
  "collation": "English_United States.1252",
  "id": "/subscriptions/REDACTED/resourceGroups/ejb091223rg/providers/Microsoft.DBforPostgreSQL/servers/ejb091223db/databases/todo",
  "name": "todo",
  "resourceGroup": "ejb091223rg",
  "type": "Microsoft.DBforPostgreSQL/servers/databases"
}

Microsoft Azure Container Registry-példány létrehozása

Mivel a Quarkus egy natív felhőalapú technológia, beépített támogatást nyújt a Container Appsben futó tárolók létrehozásához. A Container Apps teljes mértékben attól függ, hogy rendelkezik-e egy tárolóregisztrációs adatbázissal, amelyből megtalálja a futtatandó tárolólemezképeket. A Container Apps beépített támogatást nyújt az Azure Container Registryhez.

A Container Registry-példány létrehozásához használja az az acr create parancsot. Az alábbi példa n Container Registry-példányt hoz létre a környezeti változó ${REGISTRY_NAME}értékével elnevezve:

az acr create \
    --resource-group $RESOURCE_GROUP_NAME \
    --location ${LOCATION} \
    --name $REGISTRY_NAME \
    --sku Basic \
    --admin-enabled

Rövid idő elteltével a következő sorokat tartalmazó JSON-kimenetnek kell megjelennie:

  "provisioningState": "Succeeded",
  "publicNetworkAccess": "Enabled",
  "resourceGroup": "<YOUR_RESOURCE_GROUP>",

docker Csatlakozás a Container Registry-példányhoz

Jelentkezzen be a Container Registry-példányba. A bejelentkezéssel leküldhet egy képet. A kapcsolat ellenőrzéséhez használja az alábbi parancsokat:

export LOGIN_SERVER=$(az acr show \
    --name $REGISTRY_NAME \
    --query 'loginServer' \
    --output tsv)
echo $LOGIN_SERVER
export USER_NAME=$(az acr credential show \
    --name $REGISTRY_NAME \
    --query 'username' \
    --output tsv)
echo $USER_NAME
export PASSWORD=$(az acr credential show \
    --name $REGISTRY_NAME \
    --query 'passwords[0].value' \
    --output tsv)
echo $PASSWORD
docker login $LOGIN_SERVER -u $USER_NAME -p $PASSWORD

Ha Docker helyett Podmant használ, végezze el a szükséges módosításokat a parancson.

Ha sikeresen bejelentkezett a Container Registry-példányba, a parancs kimenetének végén kell megjelennie Login Succeeded .

Környezet létrehozása

Az Azure Container Apps környezete biztonságos határt hoz létre a tárolóalkalmazások egy csoportja körül. Az ugyanabban a környezetben üzembe helyezett Tárolóalkalmazások ugyanabban a virtuális hálózaton vannak üzembe helyezve, és naplókat írnak ugyanarra a Log Analytics-munkaterületre. Az az containerapp env create paranccsal hozzon létre egy környezetet, ahogy az az alábbi példában látható:

az containerapp env create \
    --resource-group $RESOURCE_GROUP_NAME \
    --location $LOCATION \
    --name $ACA_ENV

Ha a rendszer egy bővítmény telepítésére kéri, válaszoljon az Y válaszra.

Natív felhőkonfiguráció testreszabása

Natív felhőtechnológiaként a Quarkus lehetővé teszi a tárolólemezképek automatikus generálásának lehetőségét. További információ: Tárolórendszerképek. A fejlesztők ezután üzembe helyezhetik az alkalmazás lemezképét egy tárolóalapú célplatformon, például az Azure Container Appsben.

A tárolólemezkép létrehozásához használja a következő parancsot a container-image-jib bővítmény hozzáadásához a helyi terminálban:

quarkus ext add container-image-jib

A Quarkus módosítja a POM-t, hogy a bővítmény szerepeljen a <dependencies>. Ha a rendszer arra kéri, hogy telepítsen egy úgynevezett JBangelemet, válaszoljon igennel, és engedélyezze a telepítést.

A kimenetnek a következő példához hasonlóan kell kinéznie:

[SUCCESS] ✅  Extension io.quarkus:quarkus-container-image-jib has been installed

A bővítmények hozzáadásának ellenőrzéséhez futtathatja git diff és megvizsgálhatja a kimenetet.

Natív felhőtechnológiaként a Quarkus támogatja a konfigurációs profilok fogalmát. A Quarkus három beépített profillal rendelkezik:

  • dev - Fejlesztési módban aktiválva.
  • test - Teszt futtatásakor aktiválva.
  • prod - Az alapértelmezett profil, ha nem fejlesztési vagy tesztelési módban fut.

A Quarkus igény szerint tetszőleges számú elnevezett profilt támogat.

A szakasz további lépései arra utasítják, hogy az src/main/resources/application.properties fájlban feloldja és testre szabja az értékeket. Az első #sor eltávolításával # %prod. győződjön meg arról, hogy az első sorok nem lesznek kibontva.

Az %prod. előtag azt jelzi, hogy ezek a tulajdonságok aktívak a prod profilban való futtatáskor. A konfigurációs profilokról további információt a Quarkus dokumentációjában talál.

Az adatbázis konfigurációjának testreszabása

Adja hozzá a következő adatbáziskonfigurációs változókat. Cserélje le a környezeti és <DB_PASSWORD_VALUE>${DB_PASSWORD} a környezeti változók értékeit <DB_SERVER_NAME_VALUE> és tényleges értékeit${DB_SERVER_NAME}.

# Database configurations
%prod.quarkus.datasource.db-kind=postgresql
%prod.quarkus.datasource.jdbc.url=jdbc:postgresql://<DB_SERVER_NAME_VALUE>.postgres.database.azure.com:5432/todo
%prod.quarkus.datasource.jdbc.driver=org.postgresql.Driver
%prod.quarkus.datasource.username=quarkus@<DB_SERVER_NAME_VALUE>
%prod.quarkus.datasource.password=<DB_PASSWORD_VALUE>
%prod.quarkus.hibernate-orm.database.generation=create
%prod.quarkus.hibernate-orm.sql-load-script=no-file

Általában nem számít arra, hogy az adatbázisban tárolt adatok el lesznek dobva és újra feltöltve lesznek a mintaadatokkal egy éles környezetben. Ezért láthatja, hogy a séma quarkus.hibernate-orm.database.generation úgy van megadva create , hogy az alkalmazás csak akkor hozza létre a sémát, ha az nem létezik a kezdeti indításkor. Emellett az adatbázis nem lesz előre feltöltve mintaadatokkal, mert hibernate-orm.sql-load-script a következőként no-filevan megadva: . Ez a beállítás eltér attól, hogy az alkalmazást helyileg futtatta fejlesztési módban. A fejlesztési módban quarkus.hibernate-orm.database.generationhibernate-orm.sql-load-script az alapértelmezett értékek a következők és azok import.sqldrop-and-create, ami azt jelenti, hogy az alkalmazás mindig elveti és újra létrehozza az adatbázissémát, és betölti az import.sql-ben definiált adatokat. Az import.sql fájl a Quarkus kényelmi létesítménye. Ha az src/main/resources/import.sql fájl létezik a Quarkus jarban, és a hibernate-orm.sql-load-script tulajdonság import.sqlértéke az, akkor a fájlban lévő SQL DML-utasítások az alkalmazás indítási időpontjában lesznek végrehajtva.

A tárolólemezkép konfigurációjának testreszabása

Natív felhőtechnológiaként a Quarkus támogatja a Dockerrel és a Podmannel kompatibilis OCI-tárolólemezképek generálásának lehetőségét. Adja hozzá a következő tárolórendszerkép-változókat. Cserélje le a környezeti és <USER_NAME_VALUE>${USER_NAME} a <LOGIN_SERVER_VALUE> környezeti változók értékeit ${LOGIN_SERVER} és értékeit.

# Container Image Build
%prod.quarkus.container-image.build=true
%prod.quarkus.container-image.registry=<LOGIN_SERVER_VALUE>
%prod.quarkus.container-image.group=<USER_NAME_VALUE>
%prod.quarkus.container-image.name=todo-quarkus-aca
%prod.quarkus.container-image.tag=1.0

A tárolórendszerkép létrehozása és leküldése a Container Registrybe

Most az alábbi paranccsal hozza létre magát az alkalmazást. Ez a parancs a Jib-bővítményt használja a tárolólemezkép létrehozásához.

quarkus build --no-tests

A kimenetnek a következővel kell végződnie BUILD SUCCESS: .

A parancssor (CLI) használatával dockerpodman ellenőrizheti, hogy a tárolórendszerkép is létrejön-e. A kimenet az alábbi példához hasonlóan néz ki:

docker images | grep todo-quarkus-aca
<LOGIN_SERVER_VALUE>/<USER_NAME_VALUE>/todo-quarkus-aca   1.0       0804dfd834fd   2 minutes ago   402MB

A tárolólemezképek leküldése a Container Registrybe az alábbi paranccsal:

export TODO_QUARKUS_TAG=$(docker images | grep todo-quarkus-aca | head -n1 | cut -d " " -f1):1.0
echo ${TODO_QUARKUS_TAG}
docker push ${TODO_QUARKUS_TAG}

A kimenetnek a következőképpen kell kinéznie:

The push refers to repository [<LOGIN_SERVER_VALUE>/<USER_NAME_VALUE>/todo-quarkus-aca]
188a550fce3d: Pushed
4e3afea591e2: Pushed
1db0eba807a6: Pushed
c72d9ccda0b2: Pushed
d7819b8a2d18: Pushed
d0e5cba6b262: Pushed
e0bac91f0f10: Pushed
1.0: digest: sha256:f9ccb476e2388efa0dfdf817625a94f2247674148a69b7e4846793e63c8be994 size: 1789

Most, hogy leküldte az alkalmazás lemezképét a Container Registrybe, az alábbi paranccsal hozzon létre egy Container Apps-példányt az alkalmazás futtatásához, miután lekérte a lemezképet a Tárolóregisztrációs adatbázisból:

az containerapp create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $ACA_NAME \
    --image $TODO_QUARKUS_TAG \
    --environment $ACA_ENV \
    --registry-server $LOGIN_SERVER \
    --registry-username $USER_NAME \
    --registry-password $PASSWORD \
    --target-port 8080 \
    --ingress 'external'

A sikeres kimenet egy JSON-objektum, beleértve a tulajdonságot "type": "Microsoft.App/containerApps"is.

Szerezze be a Todo-alkalmazás eléréséhez szükséges teljes url-címet az alábbi paranccsal:

export QUARKUS_URL=https://$(az containerapp show \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $ACA_NAME \
    --query properties.configuration.ingress.fqdn -o tsv)
echo $QUARKUS_URL

Nyisson meg egy új webböngészőt a következő értékre ${QUARKUS_URL}: . Ezután adjon hozzá egy új teendőelemet a szöveggel Deployed the Todo app to Container Apps. Jelölje ki ezt az elemet, ha befejezettként szeretné megjelölni.

Screenshot of the Todo sample app running in Container Apps.

A RESTful API (/api) elérése az Azure Database for PostgreSQL-ben tárolt teendők lekéréséhez, ahogyan az alábbi példában látható:

curl --verbose -k ${QUARKUS_URL}/api | jq .

A kimenetnek a következő példához hasonlóan kell kinéznie:

* Connected to <aca-name>.<random-id>.eastus.azurecontainerapps.io (20.231.235.79) port 443 (#0)
> GET /api HTTP/2
> Host: <aca-name>.<random-id>.eastus.azurecontainerapps.io
> user-agent: curl/7.88.1
> accept: */*
>
< HTTP/2 200
< content-length: 88
< content-type: application/json;charset=UTF-8
<
[
  {
    "id": 1,
    "title": "Deployed the Todo app to Container Apps",
    "completed": true,
    "order": 1,
    "url": null
  }
]

Ellenőrizze, hogy az adatbázis frissült-e az Azure Cloud Shell használatával

Nyissa meg az Azure Cloud Shellt az Azure Portalon a keresőmező melletti Cloud Shell ikon ( ) kiválasztásával.

Futtassa helyileg a következő parancsot, és illessze be az eredményt az Azure Cloud Shellbe:

echo psql --host=${DB_SERVER_NAME}.postgres.database.azure.com --port=5432 --username=quarkus@${DB_SERVER_NAME} --dbname=todo

Amikor a jelszót kéri, használja az adatbázis létrehozásakor használt értéket.

Az összes teendőelem lekéréséhez használja a következő lekérdezést:

select * from todo;

A kimenetnek a következő példához hasonlóan kell kinéznie, és ugyanazokat az elemeket kell tartalmaznia a Todo alkalmazás grafikus felhasználói felületén, amelyek korábban láthatók:

Screenshot of the query output as an ASCII table.

A \q billentyű lenyomása után lépjen ki a psql programból, és térjen vissza a Cloud Shellbe.

Clean up resources

Az Azure-díjak elkerülése érdekében távolítsa el a szükségtelen erőforrásokat. Ha a fürtre már nincs szükség, az az group delete paranccsal távolítsa el az erőforráscsoportot, a tárolószolgáltatást, a tárolóregisztrációs adatbázist és az összes kapcsolódó erőforrást.

git reset --hard
docker rmi ${TODO_QUARKUS_TAG}
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait

Érdemes lehet törölni a postgres Quarkus fejlesztői mód által létrehozott és testcontainers tárolólemezképeket isdocker rmi.

További lépések