Delen via


Azure Machine Learning-resources maken, uitvoeren en verwijderen met REST

Er zijn verschillende manieren om uw Azure Machine Learning-resources te beheren. U kunt de portal, opdrachtregelinterface of Python SDK gebruiken. U kunt ook de REST API kiezen. De REST API maakt gebruik van HTTP-werkwoorden op een standaard manier om resources te maken, op te halen, bij te werken en te verwijderen. De REST API werkt met elke taal of elk hulpprogramma waarmee HTTP-aanvragen kunnen worden ingediend. Rest's eenvoudige structuur maakt het vaak een goede keuze in scriptomgevingen en voor MLOps-automatisering.

In dit artikel leert u het volgende:

  • Een autorisatietoken ophalen
  • Een correct opgemaakte REST-aanvraag maken met behulp van verificatie van de service-principal
  • GET-aanvragen gebruiken om informatie op te halen over de hiërarchische resources van Azure Machine Learning
  • PUT- en POST-aanvragen gebruiken om resources te maken en te wijzigen
  • PUT-aanvragen gebruiken om Azure Machine Learning-werkruimten te maken
  • DELETE-aanvragen gebruiken om resources op te schonen

Vereisten

Een verificatietoken voor de service-principal ophalen

Beheer REST-aanvragen worden geverifieerd met een impliciete OAuth2-stroom. Deze verificatiestroom maakt gebruik van een token dat wordt geleverd door de service-principal van uw abonnement. U hebt het volgende nodig om dit token op te halen:

  • Uw tenant-id (het identificeren van de organisatie waartoe uw abonnement behoort)
  • Uw client-id (die wordt gekoppeld aan het gemaakte token)
  • Uw clientgeheim (die u moet beveiligen)

U moet deze waarden hebben uit het antwoord op het maken van uw service-principal. Het ophalen van deze waarden wordt besproken in Verificatie instellen voor Azure Machine Learning-resources en -werkstromen. Als u uw bedrijfsabonnement gebruikt, bent u mogelijk niet gemachtigd om een service-principal te maken. In dat geval moet u een gratis of betaald persoonlijk abonnement gebruiken.

Een token ophalen:

  1. Een terminalvenster openen
  2. Voer de volgende code in op de opdrachtregel
  3. Vervang uw eigen waarden door <YOUR-TENANT-ID>, <YOUR-CLIENT-ID>en <YOUR-CLIENT-SECRET>. In dit artikel zijn tekenreeksen tussen punthaken variabelen die u moet vervangen door uw eigen juiste waarden.
  4. De opdracht uitvoeren
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>" \

Het antwoord moet een toegangstoken opgeven dat één uur goed is:

{
    "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"
}

Noteer het token, omdat u dit gebruikt om alle beheeraanvragen te verifiëren. U doet dit door een autorisatieheader in te stellen in alle aanvragen:

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

Notitie

De waarde begint met de tekenreeks Bearer, inclusief één spatie voordat u het token toevoegt.

Een lijst met resourcegroepen ophalen die zijn gekoppeld aan uw abonnement

Voer de volgende opdracht uit om de lijst met resourcegroepen op te halen die aan uw abonnement zijn gekoppeld:

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

In Azure worden veel REST API's gepubliceerd. Elke serviceprovider werkt hun API op eigen frequentie bij, maar doet dit zonder bestaande programma's te verbreken. De serviceprovider gebruikt het api-version argument om compatibiliteit te garanderen.

Belangrijk

Het api-version argument varieert van service tot service. Voor de Machine Learning Service is 2023-10-01bijvoorbeeld de huidige API-versie. Als u de nieuwste API-versie voor andere Azure-services wilt vinden, raadpleegt u de Naslaginformatie over de Azure REST API voor de specifieke service.

Alle REST-aanroepen moeten het api-version argument instellen op de verwachte waarde. U kunt afhankelijk zijn van de syntaxis en semantiek van de opgegeven versie, zelfs als de API zich blijft ontwikkelen. Als u een aanvraag verzendt naar een provider zonder het api-version argument, bevat het antwoord een door mensen leesbare lijst met ondersteunde waarden.

De bovenstaande aanroep resulteert in een gecomprimeerd JSON-antwoord van het formulier:

{
    "value": [
        {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/RG1",
            "name": "RG1",
            "type": "Microsoft.Resources/resourceGroups",
            "location": "westus2",
            "properties": {
                "provisioningState": "Succeeded"
            }
        },
        {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/RG2",
            "name": "RG2",
            "type": "Microsoft.Resources/resourceGroups",
            "location": "eastus",
            "properties": {
                "provisioningState": "Succeeded"
            }
        }
    ]
}

Inzoomen op werkruimten en hun resources

Als u de set werkruimten in een resourcegroep wilt ophalen, voert u het volgende uit, vervangt <YOUR-SUBSCRIPTION-ID>, <YOUR-RESOURCE-GROUP>en <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>"

Ook hier ontvangt u een JSON-lijst, deze keer met een lijst, elk item waarvan de details van een werkruimte worden beschreven:

{
    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/DeepLearningResourceGroup/providers/microsoft.storage/storageaccounts/myworkspace0275623111",
        "containerRegistry": null,
        "keyVault": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/DeepLearningResourceGroup/providers/microsoft.keyvault/vaults/myworkspace2525649324",
        "applicationInsights": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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"
    }
}

Als u met resources in een werkruimte wilt werken, schakelt u over van de algemene management.azure.com-server naar een REST API-server die specifiek is voor de locatie van de werkruimte. Noteer de waarde van de discoveryUrl sleutel in het bovenstaande JSON-antwoord. Als u deze URL krijgt, ontvangt u een antwoord dat er ongeveer als volgt uitziet:

{
  "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"
}

De waarde van het api antwoord is de URL van de server die u gaat gebruiken voor meer aanvragen. Als u bijvoorbeeld experimenten wilt weergeven, verzendt u de volgende opdracht. Vervang door REGIONAL-API-SERVER de waarde van het api antwoord (bijvoorbeeld centralus.api.azureml.ms). YOUR-SUBSCRIPTION-IDVervang ook, YOUR-RESOURCE-GROUP, YOUR-WORKSPACE-NAMEen YOUR-ACCESS-TOKEN zoals gewoonlijk:

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>"

Als u geregistreerde modellen in uw werkruimte wilt ophalen, verzendt u:

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>"

Als u experimenten wilt weergeven, begint het pad met history/v1.0 het weergeven van modellen, begint het pad met modelmanagement/v1.0. De REST API is onderverdeeld in verschillende operationele groepen, elk met een afzonderlijk pad.

Gebied Pad
Artifacts /rest/api/azureml
Gegevensopslag /azure/machine-learning/how-to-access-data
Hyperparameters afstemmen hyperdrive/v1.0/
Modellen modelmanagement/v1.0/
Uitvoergeschiedenis execution/v1.0/ en history/v1.0/

U kunt de REST API verkennen met behulp van het algemene patroon van:

URL-onderdeel Opmerking
https://
REGIONAL-API-SERVER/ centralus.api.azureml.ms/
operations-path/ geschiedenis/v1.0/
abonnementen/UW ABONNEMENT-ID/ abonnementen/abcde123-abab-abab-1234-0123456789abc/
resourceGroups/YOUR-RESOURCE-GROUP/ resourceGroups/MyResourceGroup/
providers/operation-provider/ providers/Microsoft.MachineLearningServices/
provider-resource-path/ werkruimten/MyWorkspace/experimenten/FirstExperiment/runs/1/
operations-endpoint/ artefacten/metagegevens/

Resources maken en wijzigen met BEHULP van PUT- en POST-aanvragen

Naast het ophalen van resources met het GET-werkwoord ondersteunt de REST API het maken van alle resources die nodig zijn voor het trainen, implementeren en bewaken van ML-oplossingen.

Voor het trainen en uitvoeren van ML-modellen zijn rekenresources vereist. U kunt de rekenresources van een werkruimte weergeven met:

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>"

Als u een benoemde rekenresource wilt maken of overschrijven, gebruikt u een PUT-aanvraag. In het volgende voorbeeld, naast de nu bekende vervangingen van , , en , en , vervangen YOUR-COMPUTE-NAME, en waarden voor location, vmSize, en vmPriority, en scaleSettings.YOUR-ACCESS-TOKENYOUR-WORKSPACE-NAMEYOUR-RESOURCE-GROUPYOUR-SUBSCRIPTION-ID Met de volgende opdracht maakt u een toegewezen Standard_D1 met één knooppunt (een eenvoudige CPU-rekenresource) die na 30 minuten omlaag wordt geschaald:

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"
            }
        }
    }
}'

Notitie

In Windows-terminals moet u mogelijk ontsnappen aan de dubbele aanhalingstekens bij het verzenden van JSON-gegevens. Dat wil gezegd, tekst zoals "location" wordt \"location\".

Een geslaagde aanvraag krijgt een 201 Created antwoord, maar houd er rekening mee dat dit antwoord alleen betekent dat het inrichtingsproces is gestart. U moet pollen (of de portal gebruiken) om te bevestigen dat de voltooiing is voltooid.

Een werkruimte maken met REST

Elke Azure Machine Learning-werkruimte heeft een afhankelijkheid van vier andere Azure-resources: een Azure Container Registry-resource, Azure Key Vault, Azure-toepassing Insights en een Azure Storage-account. U kunt pas een werkruimte maken als deze resources bestaan. Raadpleeg de REST API-verwijzing voor de details van het maken van elke resource.

Als u een werkruimte wilt maken, plaatst u een aanroep die vergelijkbaar is met de volgende management.azure.com. Hoewel u voor deze aanroep een groot aantal variabelen moet instellen, is het structureel identiek aan andere aanroepen die in dit artikel zijn besproken.

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>"
    }
}'

U ontvangt een 202 Accepted antwoord en, in de geretourneerde headers, een Location URI. U kunt deze URI ophalen voor informatie over de implementatie, inclusief nuttige foutopsporingsgegevens als er een probleem is met een van uw afhankelijke resources (bijvoorbeeld als u vergeten bent beheerderstoegang in te schakelen voor uw containerregister).

Een werkruimte maken met een door de gebruiker toegewezen beheerde identiteit

Wanneer u een werkruimte maakt, kunt u een door de gebruiker toegewezen beheerde identiteit opgeven die wordt gebruikt voor toegang tot de bijbehorende resources: ACR, KeyVault, Storage en App Insights. Als u een werkruimte wilt maken met een door de gebruiker toegewezen beheerde identiteit, gebruikt u de onderstaande aanvraagbody.

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>"
    }
}'

Een werkruimte maken met door de klant beheerde versleutelingssleutels

Standaard worden metagegevens voor de werkruimte opgeslagen in een Azure Cosmos DB-exemplaar dat Door Microsoft wordt onderhouden. Deze gegevens worden versleuteld met door Microsoft beheerde sleutels. In plaats van de door Microsoft beheerde sleutel te gebruiken, kunt u ook uw eigen sleutel opgeven. Hiermee maakt u een andere set resources in uw Azure-abonnement om uw gegevens op te slaan.

Als u een werkruimte wilt maken die gebruikmaakt van uw sleutels voor versleuteling, moet u voldoen aan de volgende vereisten:

  • De Service-principal van Azure Machine Learning moet inzendertoegang hebben tot uw Azure-abonnement.
  • U moet een bestaande Azure Key Vault hebben die een versleutelingssleutel bevat.
  • De Azure Key Vault moet aanwezig zijn in dezelfde Azure-regio waar u de Azure Machine Learning-werkruimte maakt.
  • Azure Key Vault moet voorlopig verwijderen en opschonen zijn ingeschakeld om te beveiligen tegen gegevensverlies als er onbedoelde verwijdering is.
  • U moet een toegangsbeleid hebben in Azure Key Vault waarmee toegang tot de Azure Cosmos DB-toepassing wordt verleend, verpakt en uitpakt.

Als u een werkruimte wilt maken die gebruikmaakt van een door de gebruiker toegewezen beheerde identiteit en door de klant beheerde sleutels voor versleuteling, gebruikt u de onderstaande aanvraagbody. Wanneer u een door de gebruiker toegewezen beheerde identiteit voor de werkruimte gebruikt, stelt u de userAssignedIdentity eigenschap ook in op de resource-id van de beheerde identiteit.

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
    }
}'

Resources verwijderen die u niet meer nodig hebt

Sommige, maar niet alle resources ondersteunen het delete-woord. Controleer de API-verwijzing voordat u de REST API doorvoert voor gebruiksvoorbeelden voor verwijdering. Als u bijvoorbeeld een model wilt verwijderen, kunt u het volgende gebruiken:

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>' 

Probleemoplossing

Fouten met resourceprovider

Wanneer u een Azure Machine Learning-werkruimte maakt of een resource die door de werkruimte wordt gebruikt, ontvangt u mogelijk een foutbericht die op een van de volgende berichten lijkt:

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

De meeste resourceproviders worden automatisch geregistreerd, maar niet allemaal. Als u dit bericht ontvangt, moet u de vermelde provider registreren.

De volgende tabel bevat een lijst met de resourceproviders die vereist zijn voor Azure Machine Learning:

Resourceprovider Waarom dit nodig is
Microsoft.MachineLearningServices De Azure Machine Learning-werkruimte maken.
Microsoft.Storage Azure Storage-account wordt gebruikt als de standaardopslag voor de werkruimte.
Microsoft.ContainerRegistry Azure Container Registry wordt door de werkruimte gebruikt om Docker-installatiekopieën te bouwen.
Microsoft.KeyVault Azure Key Vault wordt door de werkruimte gebruikt om geheimen op te slaan.
Microsoft.Notebooks Geïntegreerde notebooks in een Azure Machine Learning-rekenproces.
Microsoft.ContainerService Als u van plan bent getrainde modellen te implementeren in Azure Kubernetes Services.

Als u van plan bent om een door de klant beheerde sleutel te gebruiken met Azure Machine Learning, moeten de volgende serviceproviders zijn geregistreerd:

Resourceprovider Waarom dit nodig is
Microsoft.DocumentDB Azure CosmosDB-exemplaar dat metagegevens voor de werkruimte registreert.
Microsoft.Search Azure Search biedt indexeringsmogelijkheden voor de werkruimte.

Als u van plan bent om een beheerd virtueel netwerk te gebruiken met Azure Machine Learning, moet de resourceprovider Microsoft.Network worden geregistreerd. Deze resourceprovider wordt door de werkruimte gebruikt bij het maken van privé-eindpunten voor het beheerde virtuele netwerk.

Zie Fouten oplossen voor de registratie van de resourceprovider voor informatie over het registreren van resourceproviders.

De werkruimte verplaatsen

Waarschuwing

Het verplaatsen van uw Azure Machine Learning-werkruimte naar een ander abonnement of het verplaatsen van het eigen abonnement naar een nieuwe tenant wordt niet ondersteund. Als u dit doet, kan dit fouten veroorzaken.

Azure Container Registry verwijderen

De Azure Machine Learning-werkruimte maakt gebruik van Azure Container Registry (ACR) voor sommige bewerkingen. Er wordt automatisch een ACR-exemplaar gemaakt wanneer deze er eerst een nodig heeft.

Waarschuwing

Zodra een Azure Container Registry voor een werkruimte is gemaakt, verwijdert u deze niet. Hierdoor wordt uw Azure Machine Learning-werkruimte verbroken.

Volgende stappen