Oktatóanyag: Mikroszolgáltatások közötti kommunikáció az Azure Container Appsben
Az Azure Container Apps az egyes tárolóalkalmazásokat tartománynéven keresztül teszi elérhetővé, ha a bejövő forgalom engedélyezve van. 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 végez a kód üzembe helyezése az Azure Container Appsben rövid útmutatóban üzembe helyezett API-hoz.
Az alábbi képernyőképen a jelen cikk végén látható, hogy a felhasználói felület mikroszolgáltatásai tárolóalkalmazásokban lesznek üzembe helyezve.
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érbeli alkalmazás képes-e kommunikálni a háttér API-val
Előfeltételek
A kód–felhő rövid útmutatóban egy háttérbeli webes API van üzembe helyezve a zenei albumok listájának visszaadásához. Ha még 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.
Telepítés
Ha továbbra is hitelesíti magát az Azure-ban, és a gyorsútmutatóban még definiálva vannak a környezeti változók, kihagyhatja az alábbi lépéseket, és közvetlenül a GitHub-adattár előkészítése szakaszra léphet.
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 a helyére <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 , majd a lap tetején található Elágazás gombra kattintva elágazhatja az adattárat a fiókjához.
Kövesse a GitHubon megjelenő 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 code-to-cloud/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
Megjegyzé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ér-alkalmazás létrehozása
az acr build --registry $ACR_NAME --image albumapp-ui .
A parancs kimenete a az acr build
forráskód Azure-ba való feltöltésének folyamatát és a docker build
művelet részleteit mutatja.
A következő parancs létrehoz egy tárolórendszerképet az album felhasználói felületéhez, és az ACR bejelentkezési kiszolgáló teljes nevét címkézi. A
.
parancs végén található a docker buildkörnyezete, ami azt jelenti, hogy ezt a parancsot a Dockerfile helyét tartalmazó src mappában kell futtatni.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 a Azure Container Registry.
az acr login --name $ACR_NAME
Most küldje le a lemezképet a beállításjegyzékbe.
docker push "$ACR_NAME.azurecr.io/albumapp-ui"
Kommunikáció 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 külsőre való bejövő forgalmának 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 lekérdezése a teljes tartománynévhez (FQDN).
- Adja át az API teljes tartománynevét
az containerapp create
környezeti változóként, hogy a felhasználói felület alkalmazás beállíthassa az album API-hívásának 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 kapja meg 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 megadhatja azt az előtérbeli tárolóalkalmazásnak.
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"
a elemhez az containerapp create
, meghatároz egy környezeti változót az előtér-alkalmazáshoz. Ezzel a szintaxissal a nevű 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ér-alkalmazá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éphez fog hasonlítni.
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 található összes erőforrást. Ha az oktatóanyag hatókörén kívüli erőforrások szerepelnek a megadott erőforráscsoportban, akkor azok is törlődnek.
az group delete --name $RESOURCE_GROUP
Tipp
Problémákat tapasztal? Tudassa velünk a GitHubon, hogy megnyit egy problémát az Azure Container Apps-adattárban.