REST kullanarak Azure Machine Learning kaynakları oluşturma, çalıştırma ve silme

Azure Machine Learning kaynaklarınızı yönetmenin birkaç yolu vardır. Portalı, komut satırı arabirimini veya Python SDK'sını kullanabilirsiniz. Alternatif olarak REST API'yi de seçebilirsiniz. REST API, kaynakları oluşturmak, almak, güncelleştirmek ve silmek için http fiillerini standart bir şekilde kullanır. REST API, HTTP isteğinde bulunabilen herhangi bir dil veya araçla çalışır. REST'in basit yapısı genellikle betik oluşturma ortamlarında ve MLOps otomasyonu için iyi bir seçimdir.

Bu makalede şunları öğreneceksiniz:

  • Yetkilendirme belirteci alma
  • Hizmet sorumlusu kimlik doğrulamayı kullanarak düzgün biçimlendirilmiş rest isteği oluşturma
  • Azure Machine Learning'in hiyerarşik kaynakları hakkında bilgi almak için GET isteklerini kullanma
  • Kaynakları oluşturmak ve değiştirmek için PUT ve POST isteklerini kullanma
  • Azure Machine Learning çalışma alanları oluşturmak için PUT isteklerini kullanma
  • Kaynakları temizlemek için DELETE isteklerini kullanma

Önkoşullar

  • Yönetici haklarına sahip olduğunuz bir Azure aboneliği. Böyle bir aboneliğiniz yoksa ücretsiz veya ücretli kişisel aboneliği deneyin
  • Azure Machine Learning çalışma alanı.
  • Yönetim REST istekleri hizmet sorumlusu kimlik doğrulaması kullanır. Çalışma alanınızda hizmet sorumlusu oluşturmak için Azure Machine Learning kaynakları ve iş akışları için kimlik doğrulamasını ayarlama bölümünde yer alan adımları izleyin
  • Curl yardımcı programı. Curl programı Linux için Windows Alt Sistemi veya herhangi bir UNIX dağıtımında kullanılabilir. PowerShell'de curl, Invoke-WebRequest için bir diğer addır ve curl -d "key=val" -X POST uri olurInvoke-WebRequest -Body "key=val" -Method POST -Uri uri.

Hizmet sorumlusu kimlik doğrulama belirtecini alma

Yönetim REST isteklerinin kimliği OAuth2 örtük akışıyla doğrulanır. Bu kimlik doğrulama akışı, aboneliğinizin hizmet sorumlusu tarafından sağlanan bir belirteci kullanır. Bu belirteci almak için şunları yapmanız gerekir:

  • Kiracı kimliğiniz (aboneliğinizin ait olduğu kuruluşu tanımlama)
  • İstemci kimliğiniz (oluşturulan belirteçle ilişkilendirilecek)
  • İstemci gizli anahtarınız (bunu korumanız gerekir)

Yanıttan hizmet sorumlunuzun oluşturulmasına kadar bu değerlere sahip olmanız gerekir. Bu değerleri almak için Azure Machine Learning kaynakları ve iş akışları için kimlik doğrulamasını ayarlama konusu ele alınmalıdır. Şirket aboneliğinizi kullanıyorsanız hizmet sorumlusu oluşturma izniniz olmayabilir. Bu durumda, ücretsiz veya ücretli bir kişisel abonelik kullanmanız gerekir.

Belirteç almak için:

  1. Bir terminal penceresi açın
  2. Komut satırına aşağıdaki kodu girin
  3. , <YOUR-CLIENT-ID>ve <YOUR-CLIENT-SECRET>için <YOUR-TENANT-ID>kendi değerlerinizi değiştirin. Bu makale boyunca köşeli ayraçlarla çevrili dizeler, kendi uygun değerlerinizle değiştirmeniz gereken değişkenlerdir.
  4. Yeni bir “kurtarma VM’si” oluşturmak ve sorunlu VM’nin işletim sistemi diskini kurtarma VM’sine veri diski olarak takmak için
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>" \

Yanıt, bir saat boyunca iyi bir erişim belirteci sağlamalıdır:

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

Tüm yönetim isteklerinin kimliğini doğrulamak için kullanacağınız belirteci not edin. Bunu yapmak için tüm isteklerde bir Yetkilendirme üst bilgisi ayarlayacaksınız:

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

Not

Değer, belirteci eklemeden önce tek bir boşluk da dahil olmak üzere "Taşıyıcı" dizesiyle başlar.

Aboneliğinizle ilişkili kaynak gruplarının listesini alma

Aboneliğinizle ilişkili kaynak gruplarının listesini almak için şunu çalıştırın:

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

Azure genelinde birçok REST API yayımlanır. Her hizmet sağlayıcısı API'sini kendi tempolarında güncelleştirir, ancak mevcut programları bozmadan bunu yapar. Hizmet sağlayıcısı, uyumluluğu sağlamak için bağımsız değişkenini api-version kullanır.

Önemli

Bağımsız api-version değişken hizmetten hizmete değişir. Örneğin Machine Learning Hizmeti için geçerli API sürümü şeklindedir 2023-10-01. Diğer Azure hizmetlerinin en son API sürümünü bulmak için ilgili hizmetin Azure REST API başvurusuna bakın.

Tüm REST çağrıları api-version bağımsız değişkeni beklenen değere ayarlamalıdır. API gelişmeye devam etse bile belirtilen sürümün söz dizimine ve semantiğine güvenebilirsiniz. Bağımsız değişken olmadan api-version bir sağlayıcıya istek gönderirseniz, yanıt desteklenen değerlerin insan tarafından okunabilir bir listesini içerir.

Yukarıdaki çağrı, formun sıkıştırılmış JSON yanıtına neden olur:

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

Çalışma alanlarında ve kaynaklarında detaya gitme

Bir kaynak grubundaki çalışma alanı kümesini almak için , ve <YOUR-ACCESS-TOKEN>yerine <YOUR-SUBSCRIPTION-ID><YOUR-RESOURCE-GROUP>aşağıdakileri çalıştırın:

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

Yine bir JSON listesi alırsınız ve bu kez her öğesi bir çalışma alanının ayrıntılarını içeren bir liste içerir:

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

Çalışma alanı içindeki kaynaklarla çalışmak için, genel management.azure.com sunucusundan çalışma alanının konumuna özgü bir REST API sunucusuna geçiş yapacaksınız. Yukarıdaki JSON yanıtında anahtarın değerini discoveryUrl not edin. Bu URL'yi alırsanız aşağıdaki gibi bir yanıt alırsınız:

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

Yanıtın api değeri, daha fazla istek için kullanacağınız sunucunun URL'sidir. Örneğin, denemeleri listelemek için aşağıdaki komutu gönderin. değerini REGIONAL-API-SERVER yanıtın api değeriyle değiştirin (örneğin, centralus.api.azureml.ms). Ayrıca , , YOUR-RESOURCE-GROUPYOUR-WORKSPACE-NAMEve YOUR-ACCESS-TOKEN öğesini her zamanki gibi değiştirinYOUR-SUBSCRIPTION-ID:

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

Benzer şekilde, çalışma alanınızdaki kayıtlı modelleri almak için şunları gönderin:

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

Denemeleri listelemek için yolun history/v1.0 , modelleri listelemek için ise ile modelmanagement/v1.0başladığına dikkat edin. REST API, her biri ayrı bir yola sahip olan birkaç işlem grubuna ayrılır.

Alan Yol
Artifacts /rest/api/azureml
Veri depolama alanları /azure/machine-learning/how-to-access-data
Hiper parametre ayarı hyperdrive/v1.0/
Modeller modelmanagement/v1.0/
Çalıştırma geçmişi execution/v1.0/ ve history/v1.0/

REST API'yi genel desenini kullanarak keşfedebilirsiniz:

URL bileşeni Örnek
https://
REGIONAL-API-SERVER/ centralus.api.azureml.ms/
operations-path/ geçmiş/v1.0/
subscriptions/YOUR-SUBSCRIPTION-ID/ subscriptions/abcde123-abab-abab-1234-0123456789abc/
resourceGroups/YOUR-RESOURCE-GROUP/ resourceGroups/MyResourceGroup/
providers/operation-provider/ providers/Microsoft.MachineLearningServices/
provider-resource-path/ çalışma alanları/MyWorkspace/experiments/FirstExperiment/runs/1/
operations-endpoint/ yapıtlar/meta veriler/

PUT ve POST isteklerini kullanarak kaynak oluşturma ve değiştirme

GET fiiliyle kaynak alma işlemine ek olarak, REST API ML çözümlerini eğitmek, dağıtmak ve izlemek için gereken tüm kaynakların oluşturulmasını destekler.

ML modellerini eğitip çalıştırmak için işlem kaynakları gerekir. Bir çalışma alanının işlem kaynaklarını şu şekilde listeleyebilirsiniz:

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

Adlandırılmış işlem kaynağı oluşturmak veya üzerine yazmak için PUT isteği kullanacaksınız. Aşağıdaki örnekte, , , ve , YOUR-RESOURCE-GROUPdeğerlerinin yerine , , YOUR-WORKSPACE-NAMEve YOUR-ACCESS-TOKENdeğerlerinin artık alışılageldik değiştirmelerine locationYOUR-SUBSCRIPTION-IDek olarak , vmSizevmPriority, ve scaleSettingsdeğerlerini de değiştirebilirsinizYOUR-COMPUTE-NAME. Aşağıdaki komut, 30 dakika sonra ölçeği azaltacak ayrılmış, tek düğümlü bir Standard_D1 (temel CPU işlem kaynağı) oluşturur:

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

Not

Windows terminallerinde JSON verileri gönderirken çift tırnak simgelerinden kaçış yapmanız gerekebilir. Yani gibi "location" bir metin olur \"location\".

Başarılı bir istek yanıt 201 Created alır, ancak bu yanıtın yalnızca sağlama işleminin başladığı anlamına geldiğini unutmayın. Başarıyla tamamlanmasını onaylamak için yoklamanız (veya portalı kullanmanız) gerekir.

REST kullanarak çalışma alanı oluşturma

Her Azure Machine Learning çalışma alanının diğer dört Azure kaynağına bağımlılığı vardır: Azure Container Registry kaynağı, Azure Key Vault, Azure Uygulaması lication Insights ve bir Azure Depolama hesabı. Bu kaynaklar var olana kadar çalışma alanı oluşturamazsınız. Bu tür her kaynağı oluşturma ayrıntıları için REST API başvurusuna başvurun.

Çalışma alanı oluşturmak için aşağıdakine management.azure.combenzer bir çağrı ekleyin. Bu çağrı çok sayıda değişken ayarlamanızı gerektirse de, yapısal olarak bu makalede ele alınan diğer çağrılarla aynıdır.

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

Bir yanıt ve döndürülen üst bilgilerde bir Location URI almanız 202 Accepted gerekir. Bağımlı kaynaklarınızdan biriyle ilgili bir sorun varsa (örneğin, kapsayıcı kayıt defterinizde yönetici erişimini etkinleştirmeyi unuttuysanız) yararlı hata ayıklama bilgileri de dahil olmak üzere dağıtımla ilgili bilgiler için bu URI'yi ALABILIRSINIZ.

Kullanıcı tarafından atanan yönetilen kimliği kullanarak çalışma alanı oluşturma

Çalışma alanı oluştururken, ilişkili kaynaklara erişmek için kullanılacak kullanıcı tarafından atanan yönetilen kimliği belirtebilirsiniz: ACR, KeyVault, Depolama ve App Insights. Kullanıcı tarafından atanan yönetilen kimlikle bir çalışma alanı oluşturmak için aşağıdaki istek gövdesini kullanın.

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

Müşteri tarafından yönetilen şifreleme anahtarlarını kullanarak çalışma alanı oluşturma

Varsayılan olarak, çalışma alanının meta verileri Microsoft'un koruduğu bir Azure Cosmos DB örneğinde depolanır. Bu veriler Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir. Microsoft tarafından yönetilen anahtarı kullanmak yerine kendi anahtarınızı da sağlayabilirsiniz. Bunu yaptığınızda Azure aboneliğinizde verilerinizi depolamak için başka bir kaynak kümesi oluşturulur.

Şifreleme için anahtarlarınızı kullanan bir çalışma alanı oluşturmak için aşağıdaki önkoşulları karşılamanız gerekir:

  • Azure Machine Learning hizmet sorumlusunun Azure aboneliğinize katkıda bulunan erişimi olmalıdır.
  • Şifreleme anahtarı içeren mevcut bir Azure Key Vault'a sahip olmanız gerekir.
  • Azure Key Vault, Azure Machine Learning çalışma alanını oluşturacağınız Azure bölgesinde bulunmalıdır.
  • Azure Key Vault'ta yanlışlıkla silme işlemi olduğunda veri kaybına karşı koruma sağlamak için geçici silme ve temizleme koruması etkinleştirilmelidir.
  • Azure Key Vault'ta Azure Cosmos DB uygulamasına alma, sarmalama ve kaldırma erişimi veren bir erişim ilkeniz olmalıdır.

Şifreleme için kullanıcı tarafından atanan yönetilen kimliği ve müşteri tarafından yönetilen anahtarları kullanan bir çalışma alanı oluşturmak için aşağıdaki istek gövdesini kullanın. Çalışma alanı için kullanıcı tarafından atanan bir yönetilen kimlik kullanırken, özelliğini yönetilen kimliğin kaynak kimliği olarak da ayarlayın userAssignedIdentity .

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

Artık ihtiyacınız olmayan kaynakları silme

Kaynakların tümü olmasa da bazıları DELETE fiilini destekler. Kullanım durumlarını silmek için REST API'ye işlemeden önce API Başvurusu'na bakın. Örneğin, bir modeli silmek için şunları kullanabilirsiniz:

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

Sorun giderme

Kaynak sağlayıcısı hataları

Azure Machine Learning çalışma alanı veya çalışma alanı tarafından kullanılan bir kaynak oluştururken aşağıdaki iletilere benzer bir hata alabilirsiniz:

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

Çoğu kaynak sağlayıcısı otomatik olarak kaydedilir, ancak tümü kaydedilmez. Bu iletiyi alırsanız, bahsedilen sağlayıcıyı kaydetmeniz gerekir.

Aşağıdaki tabloda Azure Machine Learning tarafından gereken kaynak sağlayıcılarının listesi yer alır:

Kaynak sağlayıcısı Neden gereklidir?
Microsoft.MachineLearningServices Azure Machine Learning çalışma alanını oluşturma.
Microsoft.Storage Azure Depolama Hesabı, çalışma alanı için varsayılan depolama alanı olarak kullanılır.
Microsoft.ContainerRegistry Azure Container Registry, çalışma alanı tarafından Docker görüntüleri oluşturmak için kullanılır.
Microsoft.KeyVault Azure Key Vault, çalışma alanı tarafından gizli dizileri depolamak için kullanılır.
Microsoft.Notebooks Azure Machine Learning işlem örneğindeki tümleşik not defterleri.
Microsoft.ContainerService Eğitilmiş modelleri Azure Kubernetes Services'e dağıtmayı planlıyorsanız.

Azure Machine Learning ile müşteri tarafından yönetilen bir anahtar kullanmayı planlıyorsanız aşağıdaki hizmet sağlayıcılarının kaydedilmesi gerekir:

Kaynak sağlayıcısı Neden gereklidir?
Microsoft.DocumentDB Çalışma alanı için meta verileri günlüğe kaydeden Azure CosmosDB örneği.
Microsoft.Search Azure Search, çalışma alanı için dizin oluşturma özellikleri sağlar.

Azure Machine Learning ile yönetilen bir sanal ağ kullanmayı planlıyorsanız Microsoft.Network kaynak sağlayıcısının kayıtlı olması gerekir. Bu kaynak sağlayıcısı, yönetilen sanal ağ için özel uç noktalar oluştururken çalışma alanı tarafından kullanılır.

Kaynak sağlayıcılarını kaydetme hakkında bilgi için bkz . Kaynak sağlayıcısı kaydı hatalarını çözme.

Çalışma alanını taşıma

Uyarı

Azure Machine Learning çalışma alanınızı farklı bir aboneliğe taşıma veya sahip olan aboneliği yeni bir kiracıya taşıma desteklenmez. Bunu yapmak hatalara neden olabilir.

Azure Container Registry'yi silme

Azure Machine Learning çalışma alanı, bazı işlemler için Azure Container Registry'yi (ACR) kullanır. İlk ihtiyaç duyduğunda otomatik olarak bir ACR örneği oluşturur.

Uyarı

Bir çalışma alanı için Azure Container Registry oluşturulduktan sonra silmeyin. Bunu yaptığınızda Azure Machine Learning çalışma alanınız bozulur.

Sonraki adımlar