Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du har skapat en ny cli-mall för Azure utvecklare (azd) eller börjar från en befintlig mall kan du utöka och utveckla dess program och infrastruktur när dina krav ändras. Den här självstudien visar hur du lägger till en ny Azure-tjänst i en mall utan att förlita dig på en modul som mallen redan tillhandahåller.
Du börjar med mallenhello-azd, skapar en Bicep-modul som definierar en Azure Translator resurs, refererar till modulen från mallens startpunkt för infrastruktur och exponerar dess utdata som azd miljövärden. Handledningen handlar om att utöka infrastrukturen och ändrar inte applikationskoden.
Note
Du kan göra följande ändringar direkt eller med hjälp av en AI-kodningsassistent. Oavsett redigeringsmetod granskar du de resulterande filerna och validerar mallen före distributionen.
Förutsättningar
För att slutföra denna handledning behöver du:
- Azure Developer CLI har installerats.
- Ett Azure-abonnemang.
- Behörighet att skapa Azure resurser i prenumerationen.
- En tom katalog för den initierade mallen.
Initiera mallen
Öppna en terminal i en tom katalog och initiera sedan mallen i katalogen hello-azd :
azd init --template hello-azd .
Mallen innehåller:
- En C#-applikation distribuerad till Azure Container Apps som tjänsten
acaiazure.yaml. - En användartilldelad hanterad identitet för programmet.
- Ett Azure Storage konto med en blobcontainer och en tabell.
- Azure Container Registry och en Azure Container Apps miljö.
- Återanvändbara Bicep-moduler i
infra/core.
Information om hur du väljer och granskar en mall före initiering finns i Starta från en befintlig mall.
Skapa en Translator-modul
Skapa en fil med namnet infra/translator.bicep, antingen manuellt eller med hjälp av en AI-kodningsassistent. Den här nya modulen är fristående och är inte beroende av moduler från startmallen:
@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
Modulen använder TextTranslation resurstypen och inaktiverar autentisering med lokal nyckel. Nivån F0 är användbar för utvärdering men tillåter bara en kostnadsfri Translator-resurs per prenumeration. Använd S1 om prenumerationen redan innehåller en F0 resurs eller om projektet kräver en betald nivå.
Important
Det här introduktionsexemplet aktiverar den offentliga slutpunkten så att du kan etablera resursen utan att lägga till nätverksinfrastruktur. Innan du använder det här mönstret i produktion bör du utvärdera privata slutpunkter, nätverksåtkomstkontroller, övervakning och organisationens säkerhetskrav.
Referera till modulen från main.bicep
Mallen hello-azd definierar rg resursgruppen, location, tagsoch resourceToken värdena i infra/main.bicep. Du kan göra den här redigeringen för hand eller uppmana en AI-assistent att lägga till den. Lägg till följande modul efter resursdeklarationen rg :
module translator './translator.bicep' = {
name: 'translator'
scope: rg
params: {
name: 'translator-${resourceToken}'
location: location
tags: tags
}
}
Egenskapen scope distribuerar modulen till den resursgrupp som mallen skapar. Det befintliga resourceToken värdet gör Translator-resursnamnet distinkt för varje miljö.
Exportera utdata från Translator
Lägg till följande utdata i slutet av infra/main.bicep:
output AZURE_TRANSLATOR_NAME string = translator.outputs.name
output AZURE_TRANSLATOR_ENDPOINT string = translator.outputs.endpoint
Efter etablering registrerar azd dessa icke-hemliga utdata i den aktiva miljön. En senare ändring av programkod kan använda dessa värden för att hitta Translator-resursen.
Etablera och verifiera infrastrukturen
Etablera mallens infrastruktur utan att distribuera dess programkod:
azd provision
Kör azd env get-values och bekräfta att utdata innehåller AZURE_TRANSLATOR_NAME och AZURE_TRANSLATOR_ENDPOINT. I Azure-portalen kontrollerar du att resursgruppen innehåller en Azure Translator resurs.
I det här läget etablerar mallen AI-tjänsten men ansluter inte exempelprogrammet till den. För att slutföra integreringen konfigurerar du åtkomst med lägsta behörighet för programmets hanterade identitet, skickar slutpunkten till programmet och lägger till en Translator-klient i programkoden. Mer information finns i dokumentationen om Azure Translator.
Rensa resurser
När du inte längre behöver resurserna tar du bort dem för att undvika fortsatta avgifter:
azd down --purge
Relaterat innehåll
- Översikt över mallutveckling
- Börja med en ny mall
- Börja från en befintlig mall
- Utforska och redigera mallfiler
Begär hjälp
Information om hur du skickar in en bugg, begär hjälp eller föreslår en ny funktion för Azure Developer CLI finns på sidan troubleshooting and support.