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

Há várias maneiras de gerenciar seus recursos do Azure Machine Learning. Você pode usar o portal, a interface de linha de comando ou o Python SDK. 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 possa fazer solicitações HTTP. A estrutura direta do REST geralmente o torna uma boa escolha em ambientes de script e para automação de MLOps.

Neste artigo, vai aprender a:

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

Pré-requisitos

  • Uma assinatura do Azure para a qual você tem direitos administrativos. Se você não tiver essa assinatura, experimente a assinatura pessoal gratuita ou paga
  • Um espaço de trabalho do Azure Machine Learning.
  • As solicitações REST administrativas usam a autenticação da entidade de serviço. Siga as etapas em Configurar a autenticação para recursos e fluxos de trabalho do Azure Machine Learning para criar uma entidade de serviço em seu espaço de trabalho
  • O utilitário curl . O programa curl está disponível no Subsistema Windows para Linux ou qualquer distribuição UNIX. No PowerShell, curl é um alias para Invoke-WebRequest e curl -d "key=val" -X POST uri torna-se Invoke-WebRequest -Body "key=val" -Method POST -Uri uri.

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

As solicitações 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á:

  • O seu ID de inquilino (identificando a organização à qual a sua subscrição pertence)
  • O seu ID de cliente (que será associado ao token criado)
  • O segredo do seu cliente (que deve salvaguardar)

Você deve ter esses valores desde a resposta até a criação da entidade de serviço. A obtenção desses valores é discutida em Configurar a autenticação para recursos e fluxos de trabalho do Azure Machine Learning. Se estiver a utilizar a subscrição da sua empresa, poderá não ter 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. Abra uma janela de terminal
  2. Digite o seguinte código na linha de comando
  3. Substitua seus próprios valores por <YOUR-TENANT-ID>, <YOUR-CLIENT-ID>e <YOUR-CLIENT-SECRET>. Ao longo deste artigo, cadeias de caracteres cercadas por colchetes angulares são variáveis que você terá que substituir por seus próprios valores apropriados.
  4. Execute 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 bom por 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...

Nota

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

Obter uma lista de grupos de recursos associados à sua subscrição

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 quebrar os programas existentes. O provedor de serviços usa o argumento para garantir a api-version compatibilidade.

Importante

O api-version argumento varia de serviço para serviço. Para o Serviço de Aprendizado de Máquina, por exemplo, a versão atual da API é 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 para o serviço específico.

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

A chamada acima resultará em uma resposta 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"
            }
        }
    ]
}

Analise detalhadamente os espaços de trabalho e seus recursos

Para recuperar o conjunto de espaços 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, desta vez contendo uma lista, cada item do qual detalha um espaço de trabalho:

{
    "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 espaço de trabalho, você alternará do servidor de management.azure.com geral para um servidor de API REST específico para o local do espaço de trabalho. Observe o discoveryUrl valor da chave na resposta JSON acima. Se RECEBER esse URL, receberá uma resposta do tipo:

{
  "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 api resposta é a URL do servidor que você usará para mais solicitações. Para listar experimentos, por exemplo, envie o seguinte comando. Substitua REGIONAL-API-SERVER pelo valor da api resposta (por exemplo, centralus.api.azureml.ms). Substitua YOUR-SUBSCRIPTION-IDtambém , , , YOUR-RESOURCE-GROUPYOUR-WORKSPACE-NAMEe 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 espaço de trabalho, 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 experimentos, o caminho começa com enquanto para listar modelos, o caminho começa com history/v1.0modelmanagement/v1.0. A API REST é dividida em vários grupos operacionais, cada um com um caminho distinto.

Area Caminho
Artefactos /rest/api/azureml
Arquivos de dados /azure/machine-learning/how-to-access-data
Otimização de hiperparâmetros hiperdrive/v1.0/
Modelos modelmanagement/v1.0/
Execuções execução/v1.0/ e histórico/v1.0/

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

Componente URL Exemplo
https://
REGIONAL-API-SERVER/ centralus.api.azureml.ms/
caminho-operações/ história/v1.0/
Subscrições/SEU-ID DE SUBSCRIÇÃO/ assinaturas/abcde123-abab-abab-1234-0123456789abc/
resourceGroups/SEU-GRUPO-RECURSO/ resourceGroups/MyResourceGroup/
provedores/provedor de operação/ provedores/Microsoft.MachineLearningServices/
caminho-recurso-provedor/ espaços de trabalho/MyWorkspace/experiments/FirstExperiment/runs/1/
operações-ponto final/ artefactos/metadados/

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

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

O treinamento e a execução de modelos de ML exigem recursos de computação. Você pode listar os recursos de computação de um espaço de trabalho 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 já conhecidas de YOUR-SUBSCRIPTION-ID, , , e , substitua YOUR-COMPUTE-NAME, e valores para location, , , , adminUserName, scaleSettingsvmSizeYOUR-WORKSPACE-NAMEvmPriorityYOUR-RESOURCE-GROUPe .YOUR-ACCESS-TOKENadminUserPassword O comando a seguir cria um Standard_D1 dedicado de nó único (um recurso básico de computação da CPU) que será reduzido 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>"
    }
}'

Nota

Em terminais Windows, talvez seja necessário escapar dos símbolos de aspas duplas ao enviar dados JSON. Ou seja, texto como "location" se torna \"location\".

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

Criar um espaço de trabalho usando REST

Cada espaço de trabalho do Azure Machine Learning tem uma dependência de quatro outros recursos do Azure: um recurso do Registro de Contêiner do Azure, o Cofre da Chave do Azure, o Azure Application Insights e uma conta de Armazenamento do Azure. Não é possível criar um espaço de trabalho até que esses recursos existam. Consulte a referência da API REST para obter os detalhes da criação de cada um desses recursos.

Para criar um espaço de trabalho, 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 202 Accepted resposta e, nos cabeçalhos retornados, um Location URI. Você pode OBTER esse URI para obter informações sobre a implantação, incluindo informações úteis de depuração se houver um problema com um de seus recursos dependentes (por exemplo, se você esqueceu de habilitar o acesso de administrador no registro do contêiner).

Criar um espaço de trabalho 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, Storage e App Insights. Para criar um espaço de trabalho com identidade gerenciada atribuída pelo 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 espaço de trabalho usando chaves de criptografia gerenciadas pelo cliente

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

Para criar um espaço de trabalho que use suas chaves para criptografia, você precisa atender aos seguintes pré-requisitos:

  • A entidade de serviço do Azure Machine Learning deve ter acesso de colaborador à sua assinatura do Azure.
  • Você deve ter um Cofre da Chave do Azure existente que contenha uma chave de criptografia.
  • O Cofre da Chave do Azure deve existir na mesma região do Azure onde você criará o espaço de trabalho do Azure Machine Learning.
  • O Cofre de Chaves do Azure deve ter a proteção de exclusão e limpeza suave habilitada para proteger contra perda de dados se houver exclusão acidental.
  • Você deve ter uma política de acesso no Azure Key Vault que conceda acesso get, wrap e unwrap ao aplicativo Azure Cosmos DB.

Para criar um espaço de trabalho 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 espaço de trabalho, defina também a propriedade como a userAssignedIdentity 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
    }
}'

Excluir recursos que você não precisa mais

Alguns, mas não todos, os recursos suportam o verbo DELETE. Verifique a Referência da API antes de se comprometer com 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>' 

Resolução de Problemas

Erros do provedor de recursos

Ao criar um espaço de trabalho do Azure Machine Learning ou um recurso usado pelo espaço de trabalho, 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 são registrados automaticamente, mas não todos. Se receber esta mensagem, terá de registar o fornecedor mencionado.

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

Fornecedor de recursos Por que motivo é necessária
Microsoft.MachineLearningServices Criando o espaço de trabalho do Azure Machine Learning.
Microsoft.Armazenamento A Conta de Armazenamento do Azure é usada como o armazenamento padrão para o espaço de trabalho.
Microsoft.ContainerRegistry O Registro de Contêiner do Azure é usado pelo espaço de trabalho para criar imagens do Docker.
Microsoft.KeyVault O Azure Key Vault é usado pelo espaço de trabalho para armazenar segredos.
Microsoft.Notebooks Blocos de anotações integrados na instância de computação do Azure Machine Learning.
Microsoft.ContainerService Se você planeja implantar modelos treinados nos Serviços Kubernetes do Azure.

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

Fornecedor de recursos Por que motivo é necessária
Microsoft.Banco de Dados de Documentos Instância do Azure CosmosDB que registra metadados para o espaço de trabalho.
Microsoft.Pesquisa O Azure Search fornece recursos de indexação para o espaço de trabalho.

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

Para obter informações sobre como registrar provedores de recursos, consulte Resolver erros para registro de provedor de recursos.

Movendo o espaço de trabalho

Aviso

Não há suporte para mover seu espaço de trabalho do Azure Machine Learning para uma assinatura diferente ou mover a assinatura proprietária para um novo locatário. Isso pode causar erros.

Excluindo o Registro de Contêiner do Azure

O espaço de trabalho do Azure Machine Learning usa o Azure Container Registry (ACR) para algumas operações. Ele criará automaticamente uma instância ACR quando precisar de uma pela primeira vez.

Aviso

Depois que um Registro de Contêiner do Azure tiver sido criado para um espaço de trabalho, não o exclua. Isso interromperá seu espaço de trabalho do Azure Machine Learning.

Próximos passos