使用 Azure PowerShell 管理 Azure 机器学习工作区

使用适用于 Azure 机器学习的 Azure PowerShell 模块来创建和管理 Azure 机器学习工作区。 有关 Azure 机器学习的 Azure PowerShell cmdlet 的完整列表,请参阅 Az.MachineLearningServices 参考文档。

还可以使用 Azure CLIAzure 门户和 Python SDK通过 VS Code 扩展管理工作区。

先决条件

  • 一个 Azure 订阅。 如果没有 Azure 订阅,请尝试试用版订阅

  • Azure PowerShell 模块。 若要确保拥有最新版本,请参阅安装 Azure PowerShell 模块

    重要

    尽管 Az.MachineLearningServices PowerShell 模块为预览版,但必须使用 Install-Module cmdlet 单独安装它。

    Install-Module -Name Az.MachineLearningServices -Scope CurrentUser -Repository PSGallery -Force
    

登录 Azure

运行 Connect-AzAccount -Environment AzureChinaCloud 命令以登录 Azure 订阅,并按照屏幕上的说明操作。

Connect-AzAccount -Environment AzureChinaCloud

如果你不知道要使用哪个位置,可以列出可用的位置。 使用以下代码示例显示位置列表,并找到要使用的位置。 此示例使用“chinaeast2”。 将位置存储在变量中,并使用该变量,这样就可以在一个位置更改它。

Get-AzLocation | Select-Object -Property Location
$Location = 'chinaeast2'

创建资源组

使用 New-AzResourceGroup 创建 Azure 资源组。 资源组是在其中部署和管理 Azure 资源的逻辑容器。

$ResourceGroup = 'MyResourceGroup'
New-AzResourceGroup -Name $ResourceGroup -Location $Location

创建依赖项资源

Azure 机器学习工作区依赖于以下 Azure 资源:

  • Application Insights
  • Azure Key Vault
  • Azure 存储帐户

使用以下命令创建这些资源并检索每个资源的 Azure 资源管理器 ID:

注意

在运行以下命令之前,必须为订阅注册 Microsoft.Insights 资源提供程序。 这是一次性注册。 使用 Register-AzResourceProvider -ProviderNamespace Microsoft.Insights 执行注册。

  1. 创建 Application Insights 实例:

    $AppInsights = 'MyAppInsights'
    New-AzApplicationInsights -Name $AppInsights -ResourceGroupName $ResourceGroup -Location $Location
    $appid = (Get-AzResource -Name $AppInsights -ResourceGroupName $ResourceGroup).ResourceId
    
    
  2. 创建 Azure 密钥保管库:

    重要

    每个密钥保管库必须具有唯一的名称。 在以下示例中,将 MyKeyVault 替换为密钥保管库名称。

    $KeyVault = 'MyKeyVault'
    New-AzKeyVault -Name $KeyVault -ResourceGroupName $ResourceGroup -Location $Location
    $kvid = (Get-AzResource -Name $KeyVault -ResourceGroupName $ResourceGroup).ResourceId
    
    
  3. 创建 Azure 存储帐户:

    重要

    每个存储帐户都必须有唯一名称。 在以下示例中将 MyStorage 替换为存储帐户的名称。 在运行以下示例之前,可以使用 Get-AzStorageAccountNameAvailability -Name 'YourUniqueName' 验证名称。

    $Storage = 'MyStorage'
    
    $storageParams = @{
      Name = $Storage
      ResourceGroupName = $ResourceGroup
      Location = $Location
      SkuName = 'Standard_LRS'
      Kind = 'StorageV2'
    }
    New-AzStorageAccount @storageParams
    
    $storeid = (Get-AzResource -Name $Storage -ResourceGroupName $ResourceGroup).ResourceId
    
    

创建工作区

注意

在运行以下命令之前,必须为订阅注册 Microsoft.MachineLearningServices 资源提供程序。 这是一次性注册。 使用 Register-AzResourceProvider -ProviderNamespace Microsoft.MachineLearningServices 执行注册。

以下命令创建工作区并将其配置为使用之前创建的服务。 它还将工作区配置为使用系统分配的托管标识,该标识用于访问这些服务。 有关将托管标识用于 Azure 机器学习的详细信息,请参阅设置对其他服务的身份验证一文。

$Workspace = 'MyWorkspace'
$mlWorkspaceParams = @{
  Name = $Workspace
  ResourceGroupName = $ResourceGroup
  Location = $Location
  ApplicationInsightID = $appid
  KeyVaultId = $kvid
  StorageAccountId = $storeid
  IdentityType = 'SystemAssigned'
}
New-AzMLWorkspace @mlWorkspaceParams

获取工作区信息

要检索工作区列表,请使用以下命令:

Get-AzMLWorkspace

要检索有关特定工作区的信息,请提供名称和资源组信息:

Get-AzMLWorkspace -Name $Workspace -ResourceGroupName $ResourceGroup

创建工作区

警告

如果为工作区启用了软删除,则可以在删除后恢复它。 如果未启用软删除,或者选择永久删除工作区的选项,则无法恢复该工作区。 有关详细信息,请参阅恢复已删除的工作区

若要删除不再需要的工作区,请使用以下命令:

Remove-AzMLWorkspace -Name $Workspace -ResourceGroupName $ResourceGroup

重要

删除某个工作区不会删除该工作区使用的 Application Insights、存储帐户、密钥保管库或容器注册表。

也可以删除资源组,这会删除该资源组中的工作区和所有其他 Azure 资源。 若要删除资源组,请使用以下命令:

Remove-AzResourceGroup -Name $ResourceGroup

后续步骤

若要检查工作区是否存在问题,请参阅如何使用工作区诊断

若要了解如何将工作区移到新 Azure 订阅,请参阅如何移动工作区

有关如何使用最新的安全更新使 Azure 机器学习保持最新状态的信息,请参阅漏洞管理

要了解如何使用工作区训练 ML 模型,请参阅一天玩转 Azure 机器学习教程。