Snabbstart: Distribuera ett tjänstkataloghanterat program

I den här snabbstarten använder du definitionen för det hanterade programmet som du skapade med hjälp av någon av snabbstartsartiklarna. Distributionen skapar två resursgrupper. En resursgrupp innehåller det hanterade programmet och den andra är en hanterad resursgrupp för de distribuerade resurserna. Definitionen för det hanterade programmet distribuerar en App Service-plan, App Service och ett lagringskonto.

Förutsättningar

Skapa tjänstkataloghanterat program

I exemplen används de resursgruppsnamn som skapades i snabbstarten för att publicera en programdefinition. Om du använde snabbstarten för att publicera en definition med Bring Your Own Storage använder du dessa resursgruppsnamn.

  • Publicera programdefinition: packageStorageGroup och appDefinitionGroup.
  • Publicera definition med Bring Your Own Storage: packageStorageGroup, byosDefinitionStorageGroup och byosAppDefinitionGroup.

Hämta definition av hanterat program

Kör följande kommandon för att hämta det hanterade programmets definition med Azure PowerShell.

Öppna en ny PowerShell-terminal i Visual Studio Code och logga in på din Azure-prenumeration.

Connect-AzAccount

Kommandot öppnar din standardwebbläsare och uppmanar dig att logga in på Azure. Mer information finns i Logga in med Azure PowerShell.

Hämta definitionen för ditt hanterade program från Azure PowerShell. I det här exemplet använder du resursgruppens namn appDefinitionGroup som skapades när du distribuerade definitionen för det hanterade programmet.

Get-AzManagedApplicationDefinition -ResourceGroupName appDefinitionGroup

Get-AzManagedApplicationDefinition visar en lista över alla tillgängliga definitioner i den angivna resursgruppen, till exempel sampleManagedApplication.

Skapa en variabel för den hanterade programdefinitionens resurs-ID.

$definitionid = (Get-AzManagedApplicationDefinition -ResourceGroupName appDefinitionGroup -Name sampleManagedApplication).ManagedApplicationDefinitionId

Du använder $definitionid variabelns värde när du distribuerar det hanterade programmet.

Skapa resursgrupp och parametrar

Skapa en resursgrupp för det hanterade program som används under distributionen.

New-AzResourceGroup -Name applicationGroup -Location westus3

Du måste också skapa ett namn för resursgruppen för det hanterade programmet. Resursgruppen skapas när du distribuerar det hanterade programmet.

Kör följande kommandon för att skapa namnet på den hanterade resursgruppen.

$mrgprefix = 'mrg-sampleManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname

Variablerna $mrgprefix och $mrgtimestamp sammanfogas och lagras i variabeln $mrgname . Variabelns värde är i formatet mrg-sampleManagedApplication-20230512103059. Du använder $mrgname variabelns värde när du distribuerar det hanterade programmet.

Du måste ange flera parametrar för distributionskommandot för det hanterade programmet. Du kan använda en JSON-formaterad sträng eller skapa en JSON-fil. I det här exemplet använder vi en JSON-formaterad sträng. PowerShell-escape-tecknet för citattecknen är backtick-tecknet (`). Backticken används också för radfortsättning så att kommandon kan använda flera rader.

Syntaxen för den JSON-formaterade strängen är följande:

"{ `"parameterName`": {`"value`":`"parameterValue`"}, `"parameterName`": {`"value`":`"parameterValue`"} }"

För läsbarhet använder den slutförda JSON-strängen backtick för radfortsättning. Värdena lagras i variabeln $params som används i distributionskommandot. Parametrarna i JSON-strängen krävs för att distribuera de hanterade resurserna.

$params="{ `"appServicePlanName`": {`"value`":`"demoAppServicePlan`"}, `
`"appServiceNamePrefix`": {`"value`":`"demoApp`"}, `
`"storageAccountNamePrefix`": {`"value`":`"demostg1234`"}, `
`"storageAccountType`": {`"value`":`"Standard_LRS`"} }"

Parametrarna för att skapa de hanterade resurserna:

  • appServicePlanName: Skapa ett plannamn. Högst 40 alfanumeriska tecken och bindestreck. Till exempel demoAppServicePlan. App Service-plannamn måste vara unika i en resursgrupp i din prenumeration.
  • appServiceNamePrefix: Skapa ett prefix för plannamnet. Högst 47 alfanumeriska tecken eller bindestreck. Till exempel demoApp. Under distributionen sammanfogas prefixet med en unik sträng för att skapa ett namn som är globalt unikt i Hela Azure.
  • storageAccountNamePrefix: Använd endast gemener och siffror och högst 11 tecken. Till exempel demostg1234. Under distributionen sammanfogas prefixet med en unik sträng för att skapa ett globalt unikt namn i Azure. Även om du skapar ett prefix söker kontrollen efter befintliga namn i Azure och kan skicka ett verifieringsmeddelande om att namnet redan finns. I så fall väljer du ett annat prefix.
  • storageAccountType: Alternativen är Premium_LRS, Standard_LRS och Standard_GRS.

Distribuera det hanterade programmet

Kör följande kommando för att distribuera det hanterade programmet.

New-AzManagedApplication `
  -Name "demoManagedApplication" `
  -ResourceGroupName applicationGroup `
  -Location westus3 `
  -ManagedResourceGroupName $mrgname `
  -ManagedApplicationDefinitionId $definitionid `
  -Kind ServiceCatalog `
  -Parameter $params

Parametrarna som används i distributionskommandot:

  • Name: Ange ett namn för det hanterade programmet. I det här exemplet använder du demoManagedApplication.
  • ResourceGroupName: Namnet på resursgruppen som du skapade för det hanterade programmet.
  • Location: Ange den region som resurserna ska distribueras i. I det här exemplet använder du westus3.
  • ManagedResourceGroupName: Använder $mrgname variabelns värde. Den hanterade resursgruppen skapas när det hanterade programmet distribueras.
  • ManagedApplicationDefinitionId: Använder $definitionid variabelns värde för den hanterade programdefinitionens resurs-ID.
  • Kind: Anger den typen av hanterat program. I det här exemplet används ServiceCatalog.
  • Parameter: Använder $params variabelns värde i den JSON-formaterade strängen.

Visa resultat

När det hanterade tjänstkatalogprogrammet har distribuerats har du två nya resursgrupper. En resursgrupp innehåller det hanterade programmet. Den andra resursgruppen innehåller de hanterade resurser som har distribuerats. I det här exemplet ett App Service-, App Service-plan- och lagringskonto.

Hanterat program

När distributionen är klar kan du kontrollera statusen för det hanterade programmet.

Kör följande kommando för att kontrollera statusen för det hanterade programmet.

Get-AzManagedApplication -Name demoManagedApplication -ResourceGroupName applicationGroup

Expandera egenskaperna för att göra det enklare att läsa informationen Properties .

Get-AzManagedApplication -Name demoManagedApplication -ResourceGroupName applicationGroup | Select-Object -ExpandProperty Properties

Hanterade resurser

Du kan visa de resurser som distribuerats till den hanterade resursgruppen.

Kör följande kommando för att visa den hanterade resursgruppens resurser. Du skapade variabeln $mrgname när du skapade parametrarna.

Get-AzResource -ResourceGroupName $mrgname

Så här visar du alla rolltilldelningar för den hanterade resursgruppen.

Get-AzRoleAssignment -ResourceGroupName $mrgname

Den definition av hanterade program som du skapade i snabbstartsartiklarna använde en grupp med rolltilldelningen Ägare. Du kan visa gruppen med följande kommando.

Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner

Du kan också lista neka tilldelningar för den hanterade resursgruppen.

Get-AzDenyAssignment -ResourceGroupName $mrgname

Rensa resurser

När du är klar med det hanterade programmet kan du ta bort resursgrupperna och ta bort alla resurser som du har skapat. I den här snabbstarten skapade du till exempel resursgrupperna applicationGroup och en hanterad resursgrupp med prefixet mrg-sampleManagedApplication.

Kommandot uppmanar dig att bekräfta att du vill ta bort resursgruppen.

Remove-AzResourceGroup -Name applicationGroup

Om du vill ta bort definitionen för det hanterade programmet tar du bort de resursgrupper som du skapade i snabbstartsartiklarna.

  • Publicera programdefinition: packageStorageGroup och appDefinitionGroup.
  • Publicera definition med Bring Your Own Storage: packageStorageGroup, byosDefinitionStorageGroup och byosAppDefinitionGroup.

Nästa steg