Azd-sablon kiterjesztése Azure szolgáltatás hozzáadásával

Miután létrehozott egy új Azure fejlesztői CLI-sablont (azd) vagy egy meglévőből indul ki, a követelmények változásával bővítheti és fejlesztheti az alkalmazást és az infrastruktúrát. Ez az oktatóanyag bemutatja, hogyan adhat hozzá új Azure szolgáltatást egy sablonhoz anélkül, hogy a sablon által már biztosított modulra támaszkodhat.

A sablonnalhello-azd fog kezdeni, létrehoz egy Bicep modult, amely meghatároz egy Azure Translator erőforrást, hivatkozik a modulra a sablon infrastruktúrájának belépési pontjáról, és környezeti értékekként azd teszi közzé a kimeneteit. Az oktatóanyag az infrastruktúra bővítésére összpontosít, és nem módosítja az alkalmazáskódot.

Note

A következő módosításokat közvetlenül vagy egy AI-kódolási asszisztens segítségével végezheti el. A létrehozási módszertől függetlenül tekintse át az eredményként kapott fájlokat, és ellenőrizze a sablont az üzembe helyezés előtt.

Prerequisites

Az oktatóanyag elvégzéséhez a következőkre lesz szüksége:

A sablon inicializálása

Nyisson meg egy terminált egy üres könyvtárban, majd inicializálja a sablont abban a hello-azd könyvtárban:

azd init --template hello-azd .

A sablon a következőket tartalmazza:

  • Az Azure Container Appsbe azure.yaml a(z) aca szolgáltatásként üzembe helyezett C#-alkalmazás.
  • Az alkalmazáshoz rendelt, felhasználó által hozzárendelt felügyelt identitás.
  • Egy Azure Storage-fiók blobtárolóval és -táblával.
  • Azure Container Registry és Azure Container Apps környezet.
  • A(z) infra/core alatti újrahasználható Bicep-modulok.

A sablon inicializálás előtti kiválasztásával és áttekintésével kapcsolatos útmutatásért lásd: Start from a existing template.

Translator-modul létrehozása

Hozzon létre egy fájlt infra/translator.bicepmanuálisan vagy egy AI-kódolási asszisztens segítségével. Ez az új modul önálló, és nem függ a kezdő sablonból származó moduloktól:

@description('Name of the Azure Translator resource.')
param name string

@description('Azure region for the resource.')
param location string

@description('Tags to apply to the resource.')
param tags object = {}

@description('Pricing tier for Azure Translator.')
@allowed([
  'F0'
  'S1'
])
param sku string = 'F0'

resource translator 'Microsoft.CognitiveServices/accounts@2023-05-01' = {
  name: name
  location: location
  kind: 'TextTranslation'
  sku: {
    name: sku
  }
  properties: {
    customSubDomainName: name
    disableLocalAuth: true
    publicNetworkAccess: 'Enabled'
  }
  tags: tags
}

output name string = translator.name
output endpoint string = translator.properties.endpoint

A modul az erőforrástípust használja, és letiltja a TextTranslation helyi kulcs hitelesítését. A F0 szint hasznos a kiértékeléshez, de előfizetésenként csak egy ingyenes Translator-erőforrást engedélyez. Akkor használja S1 , ha az előfizetés már tartalmaz erőforrást F0 , vagy ha a projekthez fizetős szint szükséges.

Important

Ez a bevezető példa lehetővé teszi a nyilvános végpontot, hogy hálózati infrastruktúra hozzáadása nélkül kiépíthesse az erőforrást. Mielőtt éles környezetben használ ilyet, értékelje ki a privát végpontokat, a hálózati hozzáférés-vezérlést, a monitorozást és a szervezet biztonsági követelményeit.

Hivatkozás a modulra a következőből: main.bicep

A hello-azd sablon az erőforráscsoportot és resourceTokenlocationtagsaz rg értékeket határozza meg.infra/main.bicep Ezt a szerkesztést manuálisan is elvégezheti, vagy megkérheti egy AI-asszisztenst, hogy adja hozzá. Adja hozzá a következő modult az rg erőforrás-deklaráció után:

module translator './translator.bicep' = {
  name: 'translator'
  scope: rg
  params: {
    name: 'translator-${resourceToken}'
    location: location
    tags: tags
  }
}

A scope tulajdonság üzembe helyezi a modult a sablon által létrehozott erőforráscsoportban. A meglévő resourceToken érték megkülönbözteti a Translator-erőforrás nevét az egyes környezetekhez.

A Translator kimeneteinek exportálása

Adja hozzá az alábbi kimeneteket a(z) infra/main.bicep végéhez:

output AZURE_TRANSLATOR_NAME string = translator.outputs.name
output AZURE_TRANSLATOR_ENDPOINT string = translator.outputs.endpoint

Az üzembe helyezés után a azd rögzíti ezeket a nem titkos kimeneteket az aktív környezetben. Egy későbbi alkalmazáskód-módosítás ezeket az értékeket használhatja a Translator-erőforrás megkereséséhez.

Az infrastruktúra kiépítése és ellenőrzése

A sablon infrastruktúrájának kiépítése az alkalmazáskód üzembe helyezése nélkül:

azd provision

Futtassa a(z) azd env get-values parancsot, és ellenőrizze, hogy a kimenet tartalmazza a(z) AZURE_TRANSLATOR_NAME és AZURE_TRANSLATOR_ENDPOINT elemeket. A Azure portálon ellenőrizze, hogy az erőforráscsoport tartalmaz-e Azure Translator erőforrást.

Ezen a ponton a sablon kiépíti az AI szolgáltatást, de nem csatlakoztatja hozzá a mintaalkalmazást. Az integráció befejezéséhez konfigurálja a minimális jogosultsági hozzáférést az alkalmazás felügyelt identitásához, adja át a végpontot az alkalmazásnak, és vegyen fel egy Translator-ügyfelet az alkalmazás kódjába. További információt a Azure Translator dokumentációjában talál.

Erőforrások tisztítása

Ha már nincs szüksége az erőforrásokra, törölje őket a további költségek elkerülése érdekében:

azd down --purge

Segítség kérése

Ha további információt szeretne megtudni arról, hogyan nyújthat be hibát, kérhet segítséget vagy javasolhat új funkciót a Azure fejlesztői parancssori felületéhez, látogasson el a troubleshooting és támogatás oldalra.