快速入門:部署服務類別目錄受控應用程式

在本快速入門中,您會使用利用其中一篇快速入門文章所建立的受控應用程式定義。 部署會建立兩個資源群組。 其中一個資源群組包含受控應用程式,另一個是已部署資源的受控資源群組。 受控應用程式定義會部署 App Service 方案、App Service 和儲存體帳戶。

必要條件

建立服務類別目錄受控應用程式

這些範例會使用 快速入門中建立的資源群組名稱,發佈應用程式定義 。 如果您使用快速入門以 使用自備儲存體發佈定義,請使用這些資源群組名稱。

  • 發佈應用程式定義packageStorageGroupappDefinitionGroup
  • 使用自備儲存體發佈定義packageStorageGroupbyosDefinitionStorageGroup,以及 byosAppDefinitionGroup

取得受控應用程式定義

若要使用 Azure PowerShell 取得受控應用程式的定義,請執行下列命令。

在 Visual Studio Code 中,開啟新的 PowerShell 終端並登入您的 Azure 訂用帳戶。

Connect-AzAccount

此命令會開啟您的預設瀏覽器,並提示您登入 Azure。 如需詳細資訊,請移至 使用 Azure PowerShell 登入

從 Azure PowerShell 取得受控應用程式的定義。 在此範例中,請使用您部署受控應用程式定義時所建立的資源群組名稱 appDefinitionGroup

Get-AzManagedApplicationDefinition -ResourceGroupName appDefinitionGroup

Get-AzManagedApplicationDefinition 會列出指定資源群組,例如 sampleManagedApplication 中所有可用的定義。

建立受控應用程式定義資源識別碼的變數。

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

當您部署受控應用程式時,將會使用 $definitionid 變數的值。

建立資源群組與參數

為部署期間所使用的受控應用程式建立資源群組。

New-AzResourceGroup -Name applicationGroup -Location westus3

您也需要為受控應用程式資源群組建立名稱。 當您部署受控應用程式時,會建立資源群組。

執行下列命令以建立受控資源群組名稱。

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

$mrgprefix$mrgtimestamp 變數會串連並儲存在 $mrgname 變數中。 變數的值的格式為 mrg-sampleManagedApplication-20230512103059。 當您部署受控應用程式時,將會使用 $mrgname 變數的值。

您必須為受控應用程式的部署命令提供數個參數。 您可以使用 JSON 格式化字串或建立 JSON 檔案。 在此範例中,我們使用 JSON 格式化字串。 引號的 PowerShell 逸出字元是反引號 (`) 字元。 反引號也用於行接續,讓命令可以使用多行。

JSON 格式化字串的語法如下:

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

為了可讀性,已完成的 JSON 字串會使用行接續的反引號。 這些值會儲存在部署命令中使用的 $params 變數中。 需要 JSON 字串中的參數,才能部署受控資源。

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

要建立受控資源的參數:

  • appServicePlanName:建立方案名稱。 最多 40 個英數位元和連字號。 例如, demoAppServicePlan。 App Service 方案名稱在訂用帳戶中的資源群組內必須是唯一的。
  • appServiceNamePrefix:建立計劃名稱的前置詞。 最多 47 個英數位元或連字號。 例如, demoApp。 在部署期間,前置詞會與唯一字串串連,以建立跨 Azure 全域唯一的名稱。
  • storageAccountNamePrefix:僅使用小寫字母和數字,以及最多 11 個字元。 例如, demostg1234。 在部署期間,前置詞會與唯一字串串連,以建立跨 Azure 全域唯一的名稱。 雖然您正在建立前置詞,但控制項會檢查 Azure 中現有的名稱,並可能會張貼名稱已經存在的驗證訊息。 如果是,請選擇不同的前置詞。
  • storageAccountType:選項為 Premium_LRS、Standard_LRS 和 Standard_GRS。

部署受控應用程式

執行下列命令以部署受控應用程式。

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

部署命令中使用的參數:

  • Name:指定受控應用程式的名稱。 在此範例中,請使用 demoManagedApplication
  • ResourceGroupName:您為受控應用程式建立的資源群組名稱。
  • Location:指定要部署資源的區域。 在這個範例中,請使用 westus3
  • ManagedResourceGroupName:使用 $mrgname 變數的值。 部署受控應用程式時,會建立受控資源群組。
  • ManagedApplicationDefinitionId:針對受控應用程式定義的資源識別碼,使用 $definitionid 變數的值。
  • Kind:指定受控應用程式的類型。 此範例使用 ServiceCatalog
  • Parameter:在 JSON 格式化字串中使用 $params 變數的值。

檢視結果

在部署服務類別目錄受控應用程式之後,您會有兩個新的資源群組。 一個資源群組包含受控應用程式。 另一個資源群組包含已部署的受控資源。 在此範例中,App Service、App Service 方案和儲存體帳戶。

受控應用程式

部署完成後,您可以檢查受控應用程式的狀態。

執行下列命令來檢查受控應用程式的狀態。

Get-AzManagedApplication -Name demoManagedApplication -ResourceGroupName applicationGroup

展開屬性,讓您更容易閱讀 Properties 資訊。

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

受控資源

您可以檢視部署至受控資源群組的資源。

若要顯示受控資源群組的資源,請執行下列命令。 您在建立參數時建立了 $mrgname 變數。

Get-AzResource -ResourceGroupName $mrgname

顯示受控資源群組的所有角色指派。

Get-AzRoleAssignment -ResourceGroupName $mrgname

您在快速入門文章中建立的受控應用程式定義,使用具有擁有者角色指派的群組。 您可以使用下列命令來檢視群組。

Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner

您也可以列出受控資源群組的否定性指派。

Get-AzDenyAssignment -ResourceGroupName $mrgname

清除資源

當您完成使用受控應用程式時,您可以刪除資源群組,這樣會移除您建立的所有資源。 例如,在本快速入門中,您已建立資源群組 applicationGroup 和具有前置詞 mrg-sampleManagedApplication 的受控資源群組。

命令會提示您確認要移除資源群組。

Remove-AzResourceGroup -Name applicationGroup

如果您想要刪除受控應用程式定義,請刪除您在快速入門文章中建立的資源群組。

  • 發佈應用程式定義packageStorageGroupappDefinitionGroup
  • 使用自備儲存體發佈定義packageStorageGroupbyosDefinitionStorageGroup,以及 byosAppDefinitionGroup

下一步