Обновление управления хранилищем данных до пакета SDK версии 2
Машинное обучение Azure хранилища данных безопасно сохраняют сведения о подключении к хранилищу данных в Azure, поэтому вам не нужно кодировать их в скриптах. Концепция хранилища данных версии 2 остается в основном неизменной по сравнению с версией 1. Разница заключается в том, что мы не будем поддерживать такие источники данных, как SQL, через Машинное обучение Azure хранилища данных. Мы будем поддерживать такие источники данных SQL, как Машинное обучение Azure функции импорта и экспорта данных.
В этой статье приводится сравнение сценариев в пакете SDK версии 1 и пакете SDK версии 2.
Создание хранилища данных из контейнера BLOB-объектов Azure с помощью account_key
Пакет SDK версии 1
blob_datastore_name='azblobsdk' # Name of the datastore to workspace container_name=os.getenv("BLOB_CONTAINER", "<my-container-name>") # Name of Azure blob container account_name=os.getenv("BLOB_ACCOUNTNAME", "<my-account-name>") # Storage account name account_key=os.getenv("BLOB_ACCOUNT_KEY", "<my-account-key>") # Storage account access key blob_datastore = Datastore.register_azure_blob_container(workspace=ws, datastore_name=blob_datastore_name, container_name=container_name, account_name=account_name, account_key=account_key)
Пакет SDK версии 2
from azure.ai.ml.entities import AzureBlobDatastore from azure.ai.ml import MLClient ml_client = MLClient.from_config() store = AzureBlobDatastore( name="blob-protocol-example", description="Datastore pointing to a blob container using wasbs protocol.", account_name="mytestblobstore", container_name="data-container", protocol="wasbs", credentials={ "account_key": "XXXxxxXXXxXXXXxxXXXXXxXXXXXxXxxXxXXXxXXXxXXxxxXXxxXXXxXxXXXxxXxxXXXXxxxxxXXxxxxxxXXXxXXX" }, ) ml_client.create_or_update(store)
Создание хранилища данных из контейнера BLOB-объектов Azure с помощью sas_token
Пакет SDK версии 1
blob_datastore_name='azblobsdk' # Name of the datastore to workspace container_name=os.getenv("BLOB_CONTAINER", "<my-container-name>") # Name of Azure blob container sas_token=os.getenv("BLOB_SAS_TOKEN", "<my-sas-token>") # Sas token blob_datastore = Datastore.register_azure_blob_container(workspace=ws, datastore_name=blob_datastore_name, container_name=container_name, sas_token=sas_token)
Пакет SDK версии 2
from azure.ai.ml.entities import AzureBlobDatastore from azure.ai.ml import MLClient ml_client = MLClient.from_config() store = AzureBlobDatastore( name="blob-sas-example", description="Datastore pointing to a blob container using SAS token.", account_name="mytestblobstore", container_name="data-container", credentials=SasTokenCredentials( sas_token= "?xx=XXXX-XX-XX&xx=xxxx&xxx=xxx&xx=xxxxxxxxxxx&xx=XXXX-XX-XXXXX:XX:XXX&xx=XXXX-XX-XXXXX:XX:XXX&xxx=xxxxx&xxx=XXxXXXxxxxxXXXXXXXxXxxxXXXXXxxXXXXXxXXXXxXXXxXXxXX" ), ) ml_client.create_or_update(store)
Создание хранилища данных из контейнера BLOB-объектов Azure с помощью проверки подлинности на основе удостоверений
- Пакет SDK версии 1
blob_datastore = Datastore.register_azure_blob_container(workspace=ws,
datastore_name='credentialless_blob',
container_name='my_container_name',
account_name='my_account_name')
Пакет SDK версии 2
from azure.ai.ml.entities import AzureBlobDatastore from azure.ai.ml import MLClient ml_client = MLClient.from_config() store = AzureBlobDatastore( name="", description="", account_name="", container_name="" ) ml_client.create_or_update(store)
Получение хранилищ данных из рабочей области
Пакет SDK версии 1
# Get a named datastore from the current workspace datastore = Datastore.get(ws, datastore_name='your datastore name')
# List all datastores registered in the current workspace datastores = ws.datastores for name, datastore in datastores.items(): print(name, datastore.datastore_type)
Пакет SDK версии 2
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) datastore = ml_client.datastores.get(name='your datastore name')
Сопоставление ключевых функций в пакете SDK версии 1 и пакете SDK версии 2
Типы хранилища в пакете SDK версии 1 | Типы хранилища в пакете SDK версии 2 |
---|---|
azureml_blob_datastore | azureml_blob_datastore |
azureml_data_lake_gen1_datastore | azureml_data_lake_gen1_datastore |
azureml_data_lake_gen2_datastore | azureml_data_lake_gen2_datastore |
azuremlml_sql_database_datastore | Будет поддерживаться с помощью функций импорта и экспорта |
azuremlml_my_sql_datastore | Будет поддерживаться с помощью функций импорта и экспорта |
azuremlml_postgre_sql_datastore | Будет поддерживаться с помощью функций импорта и экспорта |
Дальнейшие действия
Дополнительные сведения см. в разделе: