Megosztás a következőn keresztül:


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.

Képernyőkép az albumlista felhasználói felületi mikroszolgáltatásáról.

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

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

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

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

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

  1. Először jelentkezzen be az Azure Container Registrybe.

    az acr login --name $ACR_NAME
    
  2. 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 createmeghatá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.

Képernyőkép az albumlista felhasználói felületi mikroszolgáltatásáról.

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.

Következő lépések