Oktatóanyag: Mikroszolgáltatások közötti kommunikáció az Azure Container Appsben
Ha engedélyezve van a bejövő forgalom, az Azure Container Apps minden tárolóalkalmazást egy tartománynéven keresztül tesz elérhetővé. A külső környezeten belüli tárolóalkalmazások bejövő végpontjai nyilvánosan elérhetők, vagy csak az ugyanabban a környezetben lévő többi tárolóalkalmazás számára érhetők el.
Miután megismerte egy adott tárolóalkalmazás teljes tartománynevét, közvetlen hívásokat kezdeményezhet a szolgáltatáshoz a megosztott környezetben lévő többi tárolóalkalmazásból.
Ebben az oktatóanyagban üzembe helyez egy második tárolóalkalmazást, amely közvetlen szolgáltatáshívást indít a kód üzembe helyezése az Azure Container Appsben rövid útmutatóban üzembe helyezett API-hoz.
Az alábbi képernyőkép a jelen cikk végén a tárolóalkalmazásokban üzembe helyezett felhasználói felületi mikroszolgáltatást mutatja be.
Eben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Előtérbeli alkalmazás üzembe helyezése az Azure Container Appsben
- Az előtéralkalmazás csatolása az előző rövid útmutatóban üzembe helyezett API-végponthoz
- Ellenőrizze, hogy az előtéralkalmazás képes-e kommunikálni a háttér API-val
Előfeltételek
A felhőbe irányuló kód rövid útmutatójában egy háttérbeli webes API van üzembe helyezve a zenei albumok listájának visszaadásához. Ha nem telepítette az album API-mikroszolgáltatást, térjen vissza a rövid útmutatóhoz : A kód üzembe helyezése az Azure Container Appsben a folytatáshoz.
Beállítás
Ha jelenleg az Azure-ban van hitelesítve, és rendelkezik a rövid útmutatóban definiált környezeti változókkal, hagyja ki a következő lépéseket, és lépjen közvetlenül a GitHub-adattár előkészítéséhez.
Adja meg a következő változókat a bash-rendszerhéjban.
RESOURCE_GROUP="album-containerapps"
LOCATION="canadacentral"
ENVIRONMENT="env-album-containerapps"
API_NAME="album-api"
FRONTEND_NAME="album-ui"
GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"
A parancs futtatása előtt cserélje le <YOUR_GITHUB_USERNAME>
a GitHub-felhasználónevét.
Ezután adjon meg egy egyedi tárolóregisztrációs adatbázisnevet.
ACR_NAME="acaalbums"$GITHUB_USERNAME
Jelentkezzen be az Azure CLI-be.
az login
az acr login --name $ACR_NAME
A GitHub-adattár előkészítése
Egy új böngészőlapon keresse meg a felhasználói felületi alkalmazás adattárát, és a lap tetején található Elágazás gombra kattintva elágazhatja az adattárat a fiókjához.
Kövesse a GitHubtól érkező utasításokat az adattár elágaztatásához, és térjen vissza ide a művelet befejezése után.
Lépjen a kód–felhő mappa szülőjéhez. Ha továbbra is a kód–felhő/src könyvtárban van, az alábbi paranccsal visszatérhet a szülőmappához.
cd ../..
A következő Git-paranccsal klónozza az elágaztatott adattárat a code-to-cloud-ui mappába:
git clone https://github.com/$GITHUB_USERNAME/containerapps-albumui.git code-to-cloud-ui
Feljegyzés
Ha a
clone
parancs sikertelen, ellenőrizze, hogy sikeresen elágazott-e az adattár.Ezután módosítsa a könyvtárat a klónozott adattár src mappájára.
cd code-to-cloud-ui/src
Az előtérbeli alkalmazás létrehozása
az acr build --registry $ACR_NAME --image albumapp-ui .
A parancs kimenete az acr build
a forráskód Azure-ba való feltöltésének folyamatát és a docker build
művelet részleteit mutatja.
Az alábbi parancs létrehoz egy tárolórendszerképet az album felhasználói felületéhez, és címkézi az ACR bejelentkezési kiszolgáló teljes nevével. A
.
parancs végén a Docker buildkörnyezete látható, ami azt jelenti, hogy ezt a parancsot azon az src mappán belül kell futtatni, ahol a Dockerfile található.docker build --tag "$ACR_NAME.azurecr.io/albumapp-ui" .
A rendszerkép leküldése az ACR-beállításjegyzékbe
Először jelentkezzen be az Azure Container Registrybe.
az acr login --name $ACR_NAME
Most küldje el a lemezképet a beállításjegyzékbe.
docker push "$ACR_NAME.azurecr.io/albumapp-ui"
Kommunikáció a tárolóalkalmazások között
Az előző rövid útmutatóban az album API egy tárolóalkalmazás létrehozásával és a külső bejövő forgalom engedélyezésével lett üzembe helyezve. A tárolóalkalmazás bejövő forgalmának külsőre való beállítása nyilvánosan elérhetővé tette a HTTP-végpont URL-címét.
Most az alábbi lépések végrehajtásával konfigurálhatja az előtérbeli alkalmazást az API-végpont meghívására:
- Az API-alkalmazás teljes tartománynevének (FQDN) lekérdezése.
- Adja át az API teljes tartománynevét
az containerapp create
környezeti változóként, hogy a felhasználói felületi alkalmazás beállíthassa az album API-hívás alap URL-címét a kódban.
A felhasználói felületi alkalmazás a megadott végpontot használja az album API meghívásához. Az alábbi kód egy részlet az útvonalak > index.js fájlban használt kódból.
const api = axios.create({
baseURL: process.env.API_BASE_URL,
params: {},
timeout: process.env.TIMEOUT || 5000,
});
Figyelje meg, hogy a baseURL
tulajdonság hogyan szerzi be az értékét a API_BASE_URL
környezeti változóból.
Futtassa a következő parancsot az API-végpont címének lekérdezéséhez.
API_BASE_URL=$(az containerapp show --resource-group $RESOURCE_GROUP --name $API_NAME --query properties.configuration.ingress.fqdn -o tsv)
Most, hogy beállította a API_BASE_URL
változót az album API teljes tartománynevével, környezeti változóként is megadható az előtérbeli tárolóalkalmazás számára.
Előtérbeli alkalmazás üzembe helyezése
Hozza létre és telepítse a tárolóalkalmazást az alábbi paranccsal.
az containerapp create \
--name $FRONTEND_NAME \
--resource-group $RESOURCE_GROUP \
--environment $ENVIRONMENT \
--image $ACR_NAME.azurecr.io/albumapp-ui \
--target-port 3000 \
--env-vars API_BASE_URL=https://$API_BASE_URL \
--ingress 'external' \
--registry-server $ACR_NAME.azurecr.io \
--query properties.configuration.ingress.fqdn
Ha hozzáadja az argumentumot --env-vars "API_BASE_URL=https://$API_ENDPOINT"
, az containerapp create
meghatároz egy környezeti változót az előtérbeli alkalmazáshoz. Ezzel a szintaxissal a névvel ellátott API_BASE_URL
környezeti változó az API teljes tartománynevére van állítva.
A parancs kimenete az containerapp create
az előtéralkalmazás URL-címét jeleníti meg.
Webhely megtekintése
A webhely megtekintéséhez használja a tárolóalkalmazás teljes tartománynevét. A lap az alábbi képernyőképre hasonlít.
Az erőforrások eltávolítása
Ha nem folytatja az alkalmazás használatát, futtassa az alábbi parancsot az erőforráscsoport és az ebben a rövid útmutatóban létrehozott összes erőforrás törléséhez.
Figyelemfelhívás
Ez a parancs törli a megadott erőforráscsoportot és a benne lévő összes erőforrást. Ha az oktatóanyag hatókörén kívül eső erőforrások a megadott erőforráscsoportban találhatók, akkor azok is törlődnek.
az group delete --name $RESOURCE_GROUP
Tipp.
Problémákat tapasztal? Tudassa velünk a GitHubon, ha megnyit egy hibát az Azure Container Apps adattárában.