Criar, executar e excluir recursos do Azure Machine Learning usando a REST

Há várias maneiras de gerenciar seus recursos do Azure Machine Learning. Você pode usar o portal, a interface de linha de comandoou o SDK do Python. Ou você pode escolher a API REST. A API REST usa verbos HTTP de forma padrão para criar, recuperar, atualizar e excluir recursos. A API REST funciona com qualquer linguagem ou ferramenta que pode fazer solicitações HTTP. A estrutura direta do REST geralmente o torna uma boa opção nos ambientes de script e na automação de MLOps.

Neste artigo, você aprenderá como:

  • Recuperar um token de autorização
  • Criar uma solicitação REST formatada corretamente usando a autenticação de entidade de serviço
  • Usar solicitações GET para recuperar informações sobre recursos hierárquicos do Azure Machine Learning
  • Usar solicitações PUT e POST para criar e modificar recursos
  • Usar solicitações PUT para criar workspaces do Azure Machine Learning
  • Usar solicitações DELETE para limpar recursos

Pré-requisitos

Recuperar um token de autenticação de entidade de serviço

As solicitações de REST administrativas são autenticadas com um fluxo implícito OAuth2. Esse fluxo de autenticação usa um token fornecido pela entidade de serviço da sua assinatura. Para recuperar esse token, você precisará de:

  • Sua ID de locatário (identificando a organização à qual sua assinatura pertence)
  • Sua ID do cliente (que será associada ao token criado)
  • Seu segredo do cliente (que você deve proteger)

Você deve ter esses valores da resposta à criação de sua entidade de serviço. Para saber como obter esses valores, consulte Configurar a autenticação para recursos e fluxos de trabalho do Azure Machine Learning. Se você estiver usando a assinatura de sua empresa, talvez não tenha permissão para criar uma entidade de serviço. Nesse caso, você deve usar uma assinatura pessoal gratuita ou paga.

Para recuperar um token:

  1. Abrir uma janela de terminal
  2. Insira o código a seguir na linha de comando
  3. Substitua os seus valores por <YOUR-TENANT-ID>, <YOUR-CLIENT-ID>, e <YOUR-CLIENT-SECRET>. Ao longo deste artigo, as cadeias de caracteres entre chaves são variáveis que você terá que substituir pelos seus próprios valores apropriados.
  4. Executar o comando
curl -X POST https://login.microsoftonline.com/<YOUR-TENANT-ID>/oauth2/token \
-d "grant_type=client_credentials&resource=https%3A%2F%2Fmanagement.azure.com%2F&client_id=<YOUR-CLIENT-ID>&client_secret=<YOUR-CLIENT-SECRET>" \

A resposta deve fornecer um token de acesso válido para uma hora:

{
    "token_type": "Bearer",
    "expires_in": "3599",
    "ext_expires_in": "3599",
    "expires_on": "1578523094",
    "not_before": "1578519194",
    "resource": "https://management.azure.com/",
    "access_token": "YOUR-ACCESS-TOKEN"
}

Anote o token, pois você o usará para autenticar todas as solicitações administrativas. Você fará isso definindo um cabeçalho de autorização em todas as solicitações:

curl -h "Authorization:Bearer <YOUR-ACCESS-TOKEN>" ...more args...

Observação

O valor começa com a cadeia de caracteres "Portador", incluindo um único espaço antes de adicionar o token.

Obtenha uma lista de grupos de recursos válidos associados à sua assinatura

Para recuperar a lista de grupos de recursos associados à sua assinatura, execute:

curl https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups?api-version=2022-04-01 -H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

No Azure, muitas APIs REST são publicadas. Cada provedor de serviços atualiza sua API em sua própria cadência, mas faz isso sem interromper os programas existentes. O provedor de serviços usa o argumento api-version para garantir a compatibilidade.

Importante

O argumento api-version varia de serviço para serviço. Para o serviço de Machine Learning, por exemplo, a versão da API atual é 2023-10-01. Para encontrar a versão mais recente da API para outros serviços do Azure, consulte a referência da API REST do Azure do serviço específico.

Todas as chamadas de REST devem definir o argumento api-version para o valor esperado. Você pode contar com a sintaxe e a semântica da versão especificada, mesmo que a API continue a evoluir. Se você enviar uma solicitação a um provedor sem o argumento api-version, a resposta conterá uma lista legível de valores com suporte.

A chamada acima resultará em uma versão JSON compactada do formulário:

{
    "value": [
        {
            "id": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourceGroups/RG1",
            "name": "RG1",
            "type": "Microsoft.Resources/resourceGroups",
            "location": "westus2",
            "properties": {
                "provisioningState": "Succeeded"
            }
        },
        {
            "id": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourceGroups/RG2",
            "name": "RG2",
            "type": "Microsoft.Resources/resourceGroups",
            "location": "eastus",
            "properties": {
                "provisioningState": "Succeeded"
            }
        }
    ]
}

Faça uma busca detalhada em workspaces e seus recursos

Para recuperar o conjunto de espaço de trabalho em um grupo de recursos, execute o seguinte, substituindo <YOUR-SUBSCRIPTION-ID>, <YOUR-RESOURCE-GROUP> e <YOUR-ACCESS-TOKEN>:

curl https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.MachineLearningServices/workspaces/?api-version=2023-10-01 \
-H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

Novamente, você receberá uma lista JSON, dessa vez contendo uma lista, em que cada item detalha um workspace:

{
    "id": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourceGroups/DeepLearningResourceGroup/providers/Microsoft.MachineLearningServices/workspaces/my-workspace",
    "name": "my-workspace",
    "type": "Microsoft.MachineLearningServices/workspaces",
    "location": "centralus",
    "tags": {},
    "etag": null,
    "properties": {
        "friendlyName": "",
        "description": "",
        "creationTime": "2023-01-03T19:56:09.7588299+00:00",
        "storageAccount": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourcegroups/DeepLearningResourceGroup/providers/microsoft.storage/storageaccounts/myworkspace0275623111",
        "containerRegistry": null,
        "keyVault": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourcegroups/DeepLearningResourceGroup/providers/microsoft.keyvault/vaults/myworkspace2525649324",
        "applicationInsights": "/subscriptions/12345abc-abbc-1b2b-1234-57ab575a5a5a/resourcegroups/DeepLearningResourceGroup/providers/microsoft.insights/components/myworkspace2053523719",
        "hbiWorkspace": false,
        "workspaceId": "cba12345-abab-abab-abab-ababab123456",
        "subscriptionState": null,
        "subscriptionStatusChangeTimeStampUtc": null,
        "discoveryUrl": "https://centralus.experiments.azureml.net/discovery"
    },
    "identity": {
        "type": "SystemAssigned",
        "principalId": "abcdef1-abab-1234-1234-abababab123456",
        "tenantId": "1fedcba-abab-1234-1234-abababab123456"
    },
    "sku": {
        "name": "Basic",
        "tier": "Basic"
    }
}

Para trabalhar com recursos em um workspace, você alternará do servidor management.azure.com geral para um servidor de API REST específico para o local do workspace. Observe o valor da chave discoveryUrl na resposta JSON acima. Se você usar o comando GET com essa URL, receberá uma resposta como:

{
  "api": "https://centralus.api.azureml.ms",
  "catalog": "https://catalog.cortanaanalytics.com",
  "experimentation": "https://centralus.experiments.azureml.net",
  "gallery": "https://gallery.cortanaintelligence.com/project",
  "history": "https://centralus.experiments.azureml.net",
  "hyperdrive": "https://centralus.experiments.azureml.net",
  "labeling": "https://centralus.experiments.azureml.net",
  "modelmanagement": "https://centralus.modelmanagement.azureml.net",
  "pipelines": "https://centralus.aether.ms",
  "studiocoreservices": "https://centralus.studioservice.azureml.com"
}

O valor da resposta api é a URL do servidor que você usará para solicitações adicionais. Para listar experimentos, por exemplo, envie o comando a seguir. Substitua REGIONAL-API-SERVER pelo valor da reposta api (por exemplo, centralus.api.azureml.ms). Substitua também YOUR-SUBSCRIPTION-ID, YOUR-RESOURCE-GROUP, YOUR-WORKSPACE-NAME e YOUR-ACCESS-TOKEN como de costume:

curl https://<REGIONAL-API-SERVER>/history/v1.0/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/experiments?api-version=2023-10-01 \
-H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

Da mesma forma, para recuperar modelos registrados em seu workspace, envie:

curl https://<REGIONAL-API-SERVER>/modelmanagement/v1.0/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/models?api-version=2023-10-01 \
-H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

Observe que, para listar os experimentos, o caminho começa com history/v1.0, enquanto para listar modelos, o caminho começa com modelmanagement/v1.0. A API REST é dividida em vários grupos operacionais, cada um com um caminho distinto.

Área Caminho
Artifacts /rest/api/azureml
Armazenamentos de dados /azure/machine-learning/how-to-access-data
Ajuste de hiperparâmetro hyperdrive/v1.0/
Modelos modelmanagement/v1.0/
Histórico da execução execution/v1.0/ e history/v1.0/

Você pode explorar a API REST usando o padrão geral:

Componente de URL Exemplo
https://
REGIONAL-API-SERVER/ centralus.api.azureml.ms/
operations-path/ history/v1.0/
subscriptions/ID-DA-SUA-ASSINATURA/ subscriptions/abcde123-abab-abab-1234-0123456789abc/
resourceGroups/SEU-GRUPO-DE-RECURSOS/ resourceGroups/MyResourceGroup/
providers/operation-provider/ providers/Microsoft.MachineLearningServices/
provider-resource-path/ workspaces/MyWorkspace/experiments/FirstExperiment/runs/1/
operations-endpoint/ artifacts/metadata/

Criar e modificar recursos usando solicitações PUT e POST

Além da recuperação de recursos com o verbo GET, a API REST dá suporte à criação de todos os recursos necessários para treinar, implantar e monitorar soluções de ML.

Os modelos de ML de treinamento e execução exigem recursos de computação. Você pode listar os recursos de computação de um workspace com:

curl https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/computes?api-version=2023-10-01 \
-H "Authorization:Bearer <YOUR-ACCESS-TOKEN>"

Para criar ou substituir um recurso de computação nomeado, você usará uma solicitação PUT. A seguir, além das substituições agora conhecidas de YOUR-SUBSCRIPTION-ID, YOUR-RESOURCE-GROUP, YOUR-WORKSPACE-NAME e YOUR-ACCESS-TOKEN, substitua YOUR-COMPUTE-NAME e os valores para location, vmSize, vmPriority, scaleSettings, adminUserName e adminUserPassword. O comando a seguir cria um Standard_D1 de nó único dedicado (um recurso básico de computação de CPU) que será reduzido horizontalmente após 30 minutos:

curl -X PUT \
  'https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/computes/<YOUR-COMPUTE-NAME>?api-version=2023-10-01' \
  -H 'Authorization:Bearer <YOUR-ACCESS-TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "location": "eastus",
    "properties": {
        "computeType": "AmlCompute",
        "properties": {
            "vmSize": "Standard_D1",
            "vmPriority": "Dedicated",
            "scaleSettings": {
                "maxNodeCount": 1,
                "minNodeCount": 0,
                "nodeIdleTimeBeforeScaleDown": "PT30M"
            }
        }
    },
    "userAccountCredentials": {
        "adminUserName": "<ADMIN_USERNAME>",
        "adminUserPassword": "<ADMIN_PASSWORD>"
    }
}'

Observação

Em terminais do Windows, você pode precisar escapar dos símbolos de aspas duplas ao enviar dados JSON. Ou seja, um texto como "location" se torna \"location\".

Uma solicitação bem-sucedida receberá uma resposta 201 Created, mas observe que essa resposta simplesmente significa que o processo de provisionamento foi iniciado. Você precisará sondar (ou usar o portal) para confirmar sua conclusão bem-sucedida.

Criar um workspace usando REST

Cada workspace do Azure Machine Learning tem uma dependência de quatro outros recursos do Azure: um recurso do Registro de Contêiner do Azure, o Azure Key Vault, o Azure Application Insights e uma conta do Armazenamento do Azure. Você não pode criar um espaço de trabalho até que esses recursos existam. Consulte a referência da API REST para obter detalhes da criação de cada um desses recursos.

Para criar um workspace, coloque uma chamada semelhante à seguinte para management.azure.com. Embora essa chamada exija que você defina um grande número de variáveis, ela é estruturalmente idêntica a outras chamadas discutidas neste artigo.

curl -X PUT \
  'https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-NEW-WORKSPACE-NAME>?api-version=2023-10-01' \
  -H 'Authorization: Bearer <YOUR-ACCESS-TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "location": "AZURE-LOCATION>",
    "identity" : {
        "type" : "systemAssigned"
    },
    "properties": {
        "friendlyName" : "<YOUR-WORKSPACE-FRIENDLY-NAME>",
        "description" : "<YOUR-WORKSPACE-DESCRIPTION>",
        "containerRegistry" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.ContainerRegistry/registries/<YOUR-REGISTRY-NAME>",
        keyVault" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.Keyvault/vaults/<YOUR-KEYVAULT-NAME>",
        "applicationInsights" : "subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.insights/components/<YOUR-APPLICATION-INSIGHTS-NAME>",
        "storageAccount" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.Storage/storageAccounts/<YOUR-STORAGE-ACCOUNT-NAME>"
    }
}'

Você deve receber uma resposta 202 Accepted e, nos cabeçalhos retornados, um URI Location. Você usar o comando GET nesse URI para obter informações sobre a implantação, incluindo informações úteis de depuração se houver um problema com um dos seus recursos dependentes (por exemplo, se você se esqueceu de habilitar o acesso de administrador no registro de contêiner).

Criar um workspace usando uma identidade gerenciada atribuída pelo usuário

Ao criar o espaço de trabalho, você pode especificar uma identidade gerenciada atribuída pelo usuário que será usada para acessar os recursos associados: ACR, keyvault, armazenamento e insights do aplicativo. Para criar um workspace com a identidade gerenciada atribuída ao usuário, use o corpo da solicitação abaixo.

curl -X PUT \
  'https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-NEW-WORKSPACE-NAME>?api-version=2023-10-01' \
  -H 'Authorization: Bearer <YOUR-ACCESS-TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "location": "AZURE-LOCATION>",
    "identity": {
      "type": "SystemAssigned,UserAssigned",
      "userAssignedIdentities": {
        "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.ManagedIdentity/userAssignedIdentities/<YOUR-MANAGED-IDENTITY>": {}
      }
    },
    "properties": {
        "friendlyName" : "<YOUR-WORKSPACE-FRIENDLY-NAME>",
        "description" : "<YOUR-WORKSPACE-DESCRIPTION>",
        "containerRegistry" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.ContainerRegistry/registries/<YOUR-REGISTRY-NAME>",
        keyVault" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.Keyvault/vaults/<YOUR-KEYVAULT-NAME>",
        "applicationInsights" : "subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.insights/components/<YOUR-APPLICATION-INSIGHTS-NAME>",
        "storageAccount" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.Storage/storageAccounts/<YOUR-STORAGE-ACCOUNT-NAME>"
    }
}'

Criar um workspace usando chaves de criptografia gerenciadas pelo cliente

Por padrão, os metadados do workspace são armazenados em uma instância do Azure Cosmos DB mantida pela Microsoft. Os dados são criptografados com chaves gerenciadas pela Microsoft. Em vez de usar a chave gerenciada pela Microsoft, você também pode fornecer uma chave própria. Isso cria um outro conjunto de recursos em sua assinatura do Azure para armazenar dados.

Para criar um workspace que usa suas chaves para criptografia, você precisa atender aos seguintes pré-requisitos:

  • O Serviço do Azure Machine Learning deve ter acesso de colaborador à sua assinatura do Azure.
  • Você precisa ter um Azure Key Vault existente que contenha uma chave de criptografia.
  • O Azure Key Vault precisa estar na mesma região do Azure em que você criará o workspace do Azure Machine Learning.
  • O Azure Key Vault deve ter a proteção de exclusão temporária e a de limpeza habilitadas para proteger contra perda de dados se houver exclusão acidental.
  • Você precisa ter uma política de acesso no Azure Key Vault que conceda acesso a get, wrap e unwrap ao aplicativo Azure Cosmos DB.

Para criar um workspace que usa uma identidade gerenciada atribuída pelo usuário e chaves gerenciadas pelo cliente para criptografia, use o corpo da solicitação abaixo. Ao usar uma identidade gerenciada atribuída pelo usuário para o workspace, defina também a propriedade userAssignedIdentity como a ID do recurso da identidade gerenciada.

curl -X PUT \
  'https://management.azure.com/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-NEW-WORKSPACE-NAME>?api-version=2023-10-01' \
  -H 'Authorization: Bearer <YOUR-ACCESS-TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "location": "eastus2euap",
    "identity": {
      "type": "SystemAssigned"
    },
    "properties": {
      "friendlyName": "<YOUR-WORKSPACE-FRIENDLY-NAME>",
      "description": "<YOUR-WORKSPACE-DESCRIPTION>",
      "containerRegistry" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.ContainerRegistry/registries/<YOUR-REGISTRY-NAME>",
      "keyVault" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>\
/providers/Microsoft.Keyvault/vaults/<YOUR-KEYVAULT-NAME>",
      "applicationInsights" : "subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.insights/components/<YOUR-APPLICATION-INSIGHTS-NAME>",
      "storageAccount" : "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.Storage/storageAccounts/<YOUR-STORAGE-ACCOUNT-NAME>",
      "encryption": {
        "status": "Enabled",
        "identity": {
          "userAssignedIdentity": null
        },      
        "keyVaultProperties": {
           "keyVaultArmId": "/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/\
providers/Microsoft.KeyVault/vaults/<YOUR-VAULT>",
           "keyIdentifier": "https://<YOUR-VAULT>.vault.azure.net/keys/<YOUR-KEY>/<YOUR-KEY-VERSION>",
           "identityClientId": ""
        }
      },
      "hbiWorkspace": false
    }
}'

Exclua recursos que não são mais necessários

Alguns, mas não todos os recursos dão suporte ao verbo DELETE. Verifique a Referência da API antes de confirmar a API REST para casos de uso de exclusão. Para excluir um modelo, por exemplo, você pode usar:

curl
  -X DELETE \
'https://<REGIONAL-API-SERVER>/modelmanagement/v1.0/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR-WORKSPACE-NAME>/models/<YOUR-MODEL-ID>?api-version=2022-05-01' \
  -H 'Authorization:Bearer <YOUR-ACCESS-TOKEN>' 

Solução de problemas

Erros do provedor de recursos

Ao criar um workspace do Azure Machine Learning ou um recurso usado pelo workspace, você pode receber um erro semelhante às seguintes mensagens:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

A maioria dos provedores de recursos é automaticamente registrada, mas não todos. Se você receber essa mensagem, será necessário registrar o provedor mencionado.

A seguinte tabela contém uma lista dos provedores de recursos exigidos pelo Azure Machine Learning:

Provedor de recursos Por que ele é necessário
Microsoft.MachineLearningServices Criar o Workspace do Azure Machine Learning.
Microsoft.Storage A conta de Armazenamento do Azure é usada como o armazenamento padrão do workspace.
Microsoft.ContainerRegistry O Registro de Contêiner do Azure é usado pelo workspace para criar imagens do Docker.
Microsoft.KeyVault O Azure Key Vault é usado pelo workspace para armazenar segredos.
Microsoft.Notebooks Notebooks integrados na instância de computação do Azure Machine Learning.
Microsoft.ContainerService Se você planeja implantar modelos treinados nos Serviços de Kubernetes do Azure.

Se você planeja usar uma chave gerenciada pelo cliente com o Azure Machine Learning, registre os seguintes provedores de serviços:

Provedor de recursos Por que ele é necessário
Microsoft.DocumentDB Instância do Azure CosmosDB que registra metadados do workspace.
Microsoft.Search O Azure Search oferece funcionalidades de indexação para o workspace.

Se você planeja usar uma rede virtual gerenciada com o Azure Machine Learning, registre o provedor de recursos Microsoft.Network. Esse provedor de recursos é usado pelo workspace ao criar pontos de extremidade privados para a rede virtual gerenciada.

Para obter informações sobre o registro de provedores de recursos, confira Resolver erros de registro de provedor de recursos.

Como mover o workspace

Aviso

Não há suporte para a movimentação do workspace do Azure Machine Learning para outra assinatura nem para a movimentação da assinatura proprietária para um novo locatário. Se você fizer isso, poderá causar erros.

Como excluir o Registro de Contêiner do Azure

O workspace do Azure Machine Learning usa o ACR (Registro de Contêiner do Azure) para algumas operações. Ele criará automaticamente uma instância do ACR quando precisar de uma pela primeira vez.

Aviso

Após a criação de um Registro de Contêiner do Azure para um workspace, não o exclua. Fazer isso interromperá o workspace do Azure Machine Learning.

Próximas etapas