Depolama hesabı erişim anahtarlarını yeniden oluşturma
ŞUNLAR IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)Python SDK azure-ai-ml v2 (geçerli)
ŞUNLAR IÇIN GEÇERLIDIR: Python SDK'sı azure-ai-ml v2 (geçerli)
ŞUNUN IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v1Python SDK azureml v1
ŞUNUN IÇIN GEÇERLIDIR: Python SDK azureml v1
Azure Machine Learning tarafından kullanılan Azure Depolama hesaplarının erişim anahtarlarını değiştirmeyi öğrenin. Azure Machine Learning, verileri veya eğitilmiş modelleri depolamak için depolama hesaplarını kullanabilir.
Güvenlik amacıyla, bir Azure Depolama hesabının erişim anahtarlarını değiştirmeniz gerekebilir. Erişim anahtarını yeniden oluştururken Azure Machine Learning'in yeni anahtarı kullanacak şekilde güncelleştirilmiş olması gerekir. Azure Machine Learning hem model depolaması hem de veri deposu olarak depolama hesabını kullanıyor olabilir.
Önemli
Veri depolarına kaydedilen kimlik bilgileri, çalışma alanıyla ilişkili Azure Key Vault'unuza kaydedilir. Key Vault'unuz için geçici silmeyi etkinleştirdiyseniz, bu makalede kimlik bilgilerini güncelleştirme yönergeleri sağlanır. Veri deposunun kaydını kaldırıp aynı adla yeniden kaydetmeyi denerseniz, bu eylem başarısız olur. Bu senaryoda geçici silmeyi etkinleştirme hakkında bilgi için bkz . Mevcut bir anahtar kasası için Geçici Silme'yi açma.
Önkoşullar
- Azure Machine Learning çalışma alanı. Daha fazla bilgi için Çalışma alanı kaynakları oluşturma makalesine bakın.
Not
Bu belgedeki kod parçacıkları Python SDK'sının 1.0.83 sürümüyle test edilmiştir.
Güncelleştirilmesi gerekenler
Depolama hesapları Azure Machine Learning çalışma alanı (günlükleri, modelleri, anlık görüntüleri vb. depolama) ve veri deposu olarak kullanılabilir. Çalışma alanını güncelleştirme işlemi tek bir Azure CLI komutudur ve depolama anahtarı güncelleştirildikten sonra değiştirilebilir. Veri depolarını güncelleştirme işlemi daha çok söz konusudur ve depolama hesabını hangi veri depolarının kullandığını keşfetmeyi ve sonra bunları yeniden kaydetmeyi gerektirir.
Önemli
Çalışma alanını Azure CLI'yı ve veri depolarını Python kullanarak aynı anda güncelleştirin. Yalnızca birini veya diğerini güncelleştirmek yeterli değildir ve her ikisi de güncelleştirilene kadar hatalara neden olabilir.
Veri depolarınız tarafından kullanılan depolama hesaplarını bulmak için aşağıdaki kodu kullanın:
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
#Enter details of your Azure Machine Learning workspace
subscription_id = '<SUBSCRIPTION_ID>'
resource_group = '<RESOURCE_GROUP>'
workspace_name = '<AZUREML_WORKSPACE_NAME>'
ml_client = MLClient(credential=DefaultAzureCredential(),
subscription_id=subscription_id,
resource_group_name=resource_group,
workspace_name=workspace_name)
# list all the datastores
datastores = ml_client.datastores.list()
for ds in datastores:
if ds.credentials.type == "account_key":
if ds.type.name == "AZURE_BLOB":
print("Blob store - datastore name: " + ds.name + ", storage account name: " +
ds.account_name + ", container name: " + ds.container_name)
if ds.type.name == "AZURE_FILE":
print("Blob store - datastore name: " + ds.name + ", storage account name: " +
ds.account_name + ", file share name: " + ds.file_share_name)
Bu kod, anahtar kimlik doğrulaması ile Azure Depolama kullanan kayıtlı veri depolarını arar ve aşağıdaki bilgileri listeler:
- Veri deposu adı: Depolama hesabının kayıtlı olduğu veri deposunun adı.
- Depolama hesabı adı: Azure Depolama hesabının adı.
- Kapsayıcı: Bu kayıt tarafından kullanılan depolama hesabındaki kapsayıcı.
- Dosya paylaşımı: Bu kayıt tarafından kullanılan dosya paylaşımı.
import azureml.core
from azureml.core import Workspace, Datastore
ws = Workspace.from_config()
default_ds = ws.get_default_datastore()
print("Default datstore: " + default_ds.name + ", storage account name: " +
default_ds.account_name + ", container name: " + default_ds.container_name)
datastores = ws.datastores
for name, ds in datastores.items():
if ds.datastore_type == "AzureBlob":
print("Blob store - datastore name: " + name + ", storage account name: " +
ds.account_name + ", container name: " + ds.container_name)
if ds.datastore_type == "AzureFile":
print("File share - datastore name: " + name + ", storage account name: " +
ds.account_name + ", container name: " + ds.container_name)
Bu kod, Azure Depolama kullanan kayıtlı veri depolarını arar ve aşağıdaki bilgileri listeler:
- Veri deposu adı: Depolama hesabının kayıtlı olduğu veri deposunun adı.
- Depolama hesabı adı: Azure Depolama hesabının adı.
- Kapsayıcı: Bu kayıt tarafından kullanılan depolama hesabındaki kapsayıcı.
Ayrıca, her veri deposu türünü yeniden kaydetmek için farklı yöntemler bulunduğundan veri deposunun bir Azure Blob veya Azure Dosya paylaşımı için olup olmadığını gösterir.
Erişim anahtarlarını yeniden oluşturmayı planladığınız depolama hesabı için bir giriş varsa veri deposu adını, depolama hesabı adını ve kapsayıcı adını kaydedin.
Erişim anahtarını güncelleştirme
Azure Machine Learning'i yeni anahtarı kullanacak şekilde güncelleştirmek için aşağıdaki adımları kullanın:
Önemli
Tüm adımları gerçekleştirin, hem çalışma alanını CLI kullanarak güncelleştirin hem de Python kullanarak veri depolarını güncelleştirin. Her ikisi de güncelleştirilene kadar yalnızca birinin veya diğerinin güncelleştirilmesi hatalara neden olabilir.
Anahtarı yeniden üretin. Erişim anahtarını yeniden oluşturma hakkında bilgi için bkz . Depolama hesabı erişim anahtarlarını yönetme. Yeni anahtarı kaydedin.
Azure Machine Learning çalışma alanı yeni anahtarı otomatik olarak eşitler ve bir saat sonra kullanmaya başlar. Çalışma alanını yeni anahtarla hemen eşitlemeye zorlamak için aşağıdaki adımları kullanın:
Aşağıdaki Azure CLI komutunu kullanarak çalışma alanınızı içeren Azure aboneliğinde oturum açmak için:
az login
İpucu
Oturum açtığınızda Azure hesabınızla ilişkili aboneliklerin listesini görürsünüz. ile
isDefault: true
abonelik bilgileri, Azure CLI komutları için şu anda etkinleştirilmiş olan aboneliktir. Bu abonelik, Azure Machine Learning çalışma alanınızı içeren abonelikle aynı olmalıdır. Abonelik bilgilerini Azure portalında çalışma alanınızın genel bakış sayfasında bulabilirsiniz.Azure CLI komutlarını kullanmak üzere başka bir abonelik seçmek için komutunu çalıştırın
az account set -s <subscription>
ve geçiş için abonelik adını veya kimliğini belirtin. Abonelik seçimi hakkında daha fazla bilgi için bkz . Birden çok Azure aboneliği kullanma.Çalışma alanını yeni anahtarı kullanacak şekilde güncelleştirmek için aşağıdaki komutu kullanın. değerini
myworkspace
Azure Machine Learning çalışma alanı adınızla, değerini ise çalışma alanını içeren Azure kaynak grubunun adıyla değiştirinmyresourcegroup
.az ml workspace sync-keys -n myworkspace -g myresourcegroup
Bu komut, çalışma alanı tarafından kullanılan Azure depolama hesabının yeni anahtarlarını otomatik olarak eşitler.
DEPOLAMA hesabını kullanan veri depolarını SDK veya Azure Machine Learning stüdyosu aracılığıyla yeniden kaydedebilirsiniz.
Veri depolarını Python SDK'sı aracılığıyla yeniden kaydetmek için Güncelleştirilmesi gerekenler bölümündeki değerleri ve 1. adımdaki anahtarı aşağıdaki kodla kullanın.
from azure.ai.ml.entities import AzureBlobDatastore, AccountKeyConfiguration from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential subscription_id = '<SUBSCRIPTION_ID>' resource_group = '<RESOURCE_GROUP>' workspace_name = '<AZUREML_WORKSPACE_NAME>' ml_client = MLClient(credential=DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name=workspace_name) blob_datastore1 = AzureBlobDatastore( name="your datastore name", description="Description", account_name="your storage account name", container_name="your container name", protocol="https", credentials=AccountKeyConfiguration( account_key="new storage account key" ), ) ml_client.create_or_update(blob_datastore1)
Belirtildiğinden
overwrite=True
, bu kod var olan kaydın üzerine yazar ve yeni anahtarı kullanacak şekilde güncelleştirir.# Re-register the blob container ds_blob = Datastore.register_azure_blob_container(workspace=ws, datastore_name='your datastore name', container_name='your container name', account_name='your storage account name', account_key='new storage account key', overwrite=True) # Re-register file shares ds_file = Datastore.register_azure_file_share(workspace=ws, datastore_name='your datastore name', file_share_name='your container name', account_name='your storage account name', account_key='new storage account key', overwrite=True)
Veri depolarını stüdyo aracılığıyla yeniden kaydetmek için
Stüdyoda, sol bölmede Varlıklar'ın altında Veri'yi seçin.
Üst kısımda Veri depoları'nı seçin.
Hangi veri depolarını güncelleştirmek istediğinizi seçin.
Sol üst kısımdaki Kimlik bilgilerini güncelleştir düğmesini seçin.
1. adımdaki yeni erişim anahtarınızı kullanarak formu doldurun ve Kaydet'e tıklayın.
Varsayılan veri deponuzun kimlik bilgilerini güncelleştiriyorsanız, bu adımı tamamlayın ve yeni anahtarınızı çalışma alanının varsayılan veri deposuyla yeniden eşitlemek için 2b. adımı yineleyin.
Sonraki adımlar
Veri depolarını kullanma hakkında daha fazla bilgi için bkz . Veri depolarını kullanma.
Veri depolarını kaydetme hakkında daha fazla bilgi için sınıf başvurusuna Datastore
bakın.