Integrering av distributionsstackar i Azure med Azure Developer CLI

AZURE Developer CLI (azd) stöder Azure distributionsstackar för malldistributioner. En Azure distributionsstack är en resurs som gör att du kan hantera en grupp med Azure resurser som en enda sammanhängande enhet. Genom att använda distributionsstackar kan du få ytterligare kontroll över den uppsättning resurser som är associerade med mallen azd och appen.

I den här artikeln kan du se hur du:

  • Aktivera stöd för Azure distributionsstack i azd.
  • Distribuera azd mallar med hjälp av Azure distributionsstackar.
  • Konfigurera distributionsstackens beteende med hjälp av azd konfigurationer.

Aktivera stöd för Azure distributionsstack

Azure stöd för distributionsstackar måste aktiveras via kommandot azd config:

azd config set alpha.deployment.stacks on

Kommentar

Azure stöd för distributionsstackar är för närvarande en alfafunktion, varför den måste aktiveras manuellt. Distributionsstackar kommer dock att bli standarddistributionsbeteendet för azd i en framtida version. Läs mer om vår versionsstrategi.

Kontrollera att funktionen har aktiverats med kommandot azd config show :

azd config show

Distribuera en mall med hjälp av distributionsstackar

När du har aktiverat funktionen för distributionsstackar krävs inga ytterligare ändringar i mallarna azd för att utnyttja standardbeteendet för den här funktionen. azd omsluter automatiskt de etablerade mallresurserna i en Azure distributionsstack när du kör azd up:

azd up

azd använder det omfång som definierats i filen main.bicep för mallen för Azure distributionsstacken. Om mallen till exempel är begränsad till prenumerations- eller resursgruppsnivån kan du visa den associerade distributionsstacken i Azure-portalen på sidan Distributionsstackar på den associerade prenumerations- eller resursgruppssidan.

En skärmbild som visar en distributionsstack på prenumerationsnivå i Azure portal.

Välj distributionsstacken för att visa hanteringssidorna för den:

En skärmbild som visar information om distributionsstacken.

Ta bort en distributionsstack

Som standard kan du ta bort en distributionsstack och dess associerade resurser med hjälp av standardkommandot azd down :

azd down

Det exakta beteendet för azd down och distributionsstackarna konfigureras genom azure.yaml-filen.

Konfigurera distributionsstacken

azd exponerar olika konfigurationsinställningar via avsnittet infra i filen azure.yaml för att påverka beteendet för Azure distributionsstacken. De här inställningarna mappas till standardalternativen som beskrivs i dokumentationen om distributionsstackar . Tänk på följande azure.yaml exempel:

name: todo-nodejs-mongo-aca
metadata:
  template: todo-nodejs-mongo-aca@0.0.1-beta
infra:
  provider: bicep
  deploymentStacks:
    actionOnUnmanage:
      resources: delete
      resourceGroups: delete
    denySettings:
      mode: denyDelete
      excludedActions:
        - Microsoft.Resources/subscriptions/resourceGroups/delete
      excludedResources:
        - <your-resource-id-1>
        - <your-resource-id-2>
      excludedPrincipals:
        - <your-targeted-principal-id-1>
        - <your-targeted-principal-id-2>
      applyToChildScopes: true
# ...
# Remaining file contents omitted
# ...

I föregående exempel definieras följande alternativ i avsnittet deploymentStacks :

  • actionOnUnmanage: När en distributionsstack tas bort anses de associerade Azure resurserna vara ohanterade. Den här inställningen bestämmer hur Azure ska hantera ohanterade resurser. Möjliga värden är:
    • delete är standardvärdet och förstör alla resurser som hanteras av den borttagna distributionsstacken.
    • detach lämnar resurser på plats men tar bort deras association till den borttagna distributionsstacken.
  • denySettings: Ett underavsnitt som ger nyanserad kontroll över resurserna i distributionsstacken.
    • läge: Avgör begränsningar på hög nivå för distributionsstackens resurser. Möjliga värden är:
      • none är standardvärdet och gör att distributionsstackens resurser kan tas bort eller att nya resurser läggs till.
      • denyDelete förhindrar att distributionsstackresurser tas bort.
      • denyWriteAndDelete förhindrar att distributionsstackens resurser tas bort och förhindrar även att nya resurser läggs till i distributionsstacken.
    • excludedActions: Visar en lista över Azure rollbaserad åtkomstkontroll (RBAC) åtgärder som inte tillåts för distributionsstackens resurser.
    • excludedResources: Visar en lista över resurs-ID:t som undantas från denySettings.
    • excludedPrincipals: Visar en lista över tjänsthuvudnamns-ID:t som är undantagna denySettingsfrån .
    • applyToChildScopes: Ett booleskt värde som anger om neka-inställningarna gäller för underordnade resurser för resurser i distributionsstacken. En SQL Server resurs har till exempel underordnade databasresurser.