Datastore 类

表示通过 Azure 机器学习存储帐户的存储抽象。

数据存储附加到工作区,用于存储到 Azure 存储服务的连接信息,以便可以按名称引用它们,并且无需记住用于连接到存储服务的连接信息和机密。

可注册为数据存储的受支持 Azure 存储服务的示例包括:

  • Azure Blob 容器

  • Azure 文件共享

  • Azure Data Lake

  • Azure Data Lake Gen2

  • Azure SQL 数据库

  • Azure Database for PostgreSQL

  • Databricks 文件系统

  • Azure Database for MySQL

使用此类可以执行管理操作,包括注册、列出、获取和移除数据存储。 每个服务的数据存储都是使用此类的 register* 方法创建的。 使用数据存储访问数据时,必须具有访问数据的权限,这取决于在数据存储中注册的凭据。

有关数据存储以及如何在机器学习中使用数据存储的详细信息,请参阅以下文章:

按名称获取数据存储。 此调用将向数据存储服务发出请求。

继承
builtins.object
Datastore

构造函数

Datastore(workspace, name=None)

参数

workspace
Workspace
必需

工作区。

name
str, <xref:optional>
默认值: None

数据存储的名称默认为 None,这将获取默认数据存储。

注解

若要与数据存储中的数据进行交互以进行机器学习任务(例如训练),请创建一个 Azure 机器学习数据集。 数据集提供了将表格数据加载到 pandas 或 Spark DataFrame 的函数。 数据集还提供从 Azure Blob 存储、Azure 文件存储、Azure Data Lake Storage Gen1、Azure Data Lake Storage Gen2、Azure SQL 数据库和 Azure Database for PostgreSQL 下载或装载任何格式的文件的功能。 详细了解如何使用数据集进行训练

下面的示例演示如何创建连接到 Azure Blob 容器的数据存储。


   from azureml.exceptions import UserErrorException

   blob_datastore_name='MyBlobDatastore'
   account_name=os.getenv("BLOB_ACCOUNTNAME_62", "<my-account-name>") # Storage account name
   container_name=os.getenv("BLOB_CONTAINER_62", "<my-container-name>") # Name of Azure blob container
   account_key=os.getenv("BLOB_ACCOUNT_KEY_62", "<my-account-key>") # Storage account key

   try:
       blob_datastore = Datastore.get(ws, blob_datastore_name)
       print("Found Blob Datastore with name: %s" % blob_datastore_name)
   except UserErrorException:
       blob_datastore = Datastore.register_azure_blob_container(
           workspace=ws,
           datastore_name=blob_datastore_name,
           account_name=account_name, # Storage account name
           container_name=container_name, # Name of Azure blob container
           account_key=account_key) # Storage account key
       print("Registered blob datastore with name: %s" % blob_datastore_name)

   blob_data_ref = DataReference(
       datastore=blob_datastore,
       data_reference_name="blob_test_data",
       path_on_datastore="testdata")

完整示例可从 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-data-transfer.ipynb 获取

方法

get

按名称获取数据存储。 这与调用构造函数相同。

get_default

获取工作区的默认数据存储。

register_azure_blob_container

将 Azure Blob 容器注册到数据存储。

支持基于凭据 (GA) 和基于标识 (预览版) 的数据访问,可以选择使用 SAS 令牌或存储帐户密钥。 如果数据存储没有保存凭据,那么如果用户的 AAD 令牌直接调用以下函数之一,则将在笔记本或本地 Python 程序中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files 计算目标的标识将在 Experiment 提交的作业中使用。提交以进行数据访问身份验证。 在此处了解更多信息

register_azure_data_lake

初始化新的 Azure Data Lake 数据存储。

支持基于 (GA) 和基于标识的 (预览版) 数据访问,可以在服务主体中注册数据存储,进行基于凭据的数据访问。 如果数据存储没有保存凭据,那么如果用户的 AAD 令牌直接调用以下函数之一,则将在笔记本或本地 Python 程序中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files 计算目标的标识将在 Experiment 提交的作业中使用。提交以进行数据访问身份验证。 在此处了解更多信息

请参阅下面的示例,了解如何将 Data Lake Gen1 注册为数据存储。


   adlsgen1_datastore_name='adlsgen1datastore'

   store_name=os.getenv("ADL_STORENAME", "<my_datastore_name>") # the ADLS name
   subscription_id=os.getenv("ADL_SUBSCRIPTION", "<my_subscription_id>") # subscription id of the ADLS
   resource_group=os.getenv("ADL_RESOURCE_GROUP", "<my_resource_group>") # resource group of ADLS
   tenant_id=os.getenv("ADL_TENANT", "<my_tenant_id>") # tenant id of service principal
   client_id=os.getenv("ADL_CLIENTID", "<my_client_id>") # client id of service principal
   client_secret=os.getenv("ADL_CLIENT_SECRET", "<my_client_secret>") # the secret of service principal

   adls_datastore = Datastore.register_azure_data_lake(
       workspace=ws,
       datastore_name=aslsgen1_datastore_name,
       subscription_id=subscription_id, # subscription id of ADLS account
       resource_group=resource_group, # resource group of ADLS account
       store_name=store_name, # ADLS account name
       tenant_id=tenant_id, # tenant id of service principal
       client_id=client_id, # client id of service principal
       client_secret=client_secret) # the secret of service principal
register_azure_data_lake_gen2

初始化新的 Azure Data Lake Gen2 数据存储。

支持基于 (GA) 和基于标识的 (预览版) 数据访问,可以在服务主体中注册数据存储,进行基于凭据的数据访问。 如果数据存储没有保存凭据,那么如果用户的 AAD 令牌直接调用以下函数之一,则将在笔记本或本地 Python 程序中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files 计算目标的标识将在 Experiment 提交的作业中使用。提交以进行数据访问身份验证。 在此处了解更多信息

register_azure_file_share

向数据存储注册 Azure 文件共享。

可以选择使用 SAS 令牌或存储帐户密钥

register_azure_my_sql

初始化新的 Azure MySQL 数据存储。

在 Azure 机器学习管道中,MySQL 数据存储只能用于创建 DataReference 作为 DataTransferStep 的输入和输出。 此处提供了更多详细信息。

请参阅下面的示例,了解如何将 Azure MySQL 数据库注册为数据存储。

register_azure_postgre_sql

初始化新的 Azure PostgreSQL 数据存储。

请参阅下面的示例,了解如何将 Azure PostgreSQL 数据库注册为数据存储。

register_azure_sql_database

初始化新的 Azure SQL 数据库数据存储。

支持基于凭据 (GA) 和基于标识 (预览版) 的数据访问,可以选择使用服务主体或用户名 + 密码。 如果数据存储没有保存凭据,那么如果用户的 AAD 令牌直接调用以下函数之一,则将在笔记本或本地 Python 程序中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files 计算目标的标识将在 Experiment 提交的作业中使用。提交以进行数据访问身份验证。 在此处了解更多信息

请参阅下面的示例,了解如何将 Azure SQL 数据库注册为数据存储。

register_dbfs

初始化新的 Databricks 文件系统 (DBFS) 数据存储。

在 Azure 机器学习管道中,DBFS 数据存储只能用于创建 DataReference 作为 DatabricksStep 的输入和 PipelineData 作为其输出。 此处提供了更多详细信息

register_hdfs

注意

这是一个实验性的方法,可能会在任何时候更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental

初始化新的 HDFS 数据存储。

set_as_default

设置默认数据存储。

unregister

取消注册数据存储。 不会删除基础存储服务。

get

按名称获取数据存储。 这与调用构造函数相同。

static get(workspace, datastore_name)

参数

workspace
Workspace
必需

工作区。

datastore_name
str, <xref:optional>
必需

数据存储的名称默认为 None,这将获取默认数据存储。

返回

该名称的相应数据存储。

返回类型

get_default

获取工作区的默认数据存储。

static get_default(workspace)

参数

workspace
Workspace
必需

工作区。

返回

工作区的默认数据存储

返回类型

register_azure_blob_container

将 Azure Blob 容器注册到数据存储。

支持基于凭据 (GA) 和基于标识 (预览版) 的数据访问,可以选择使用 SAS 令牌或存储帐户密钥。 如果数据存储没有保存凭据,那么如果用户的 AAD 令牌直接调用以下函数之一,则将在笔记本或本地 Python 程序中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files 计算目标的标识将在 Experiment 提交的作业中使用。提交以进行数据访问身份验证。 在此处了解更多信息

static register_azure_blob_container(workspace, datastore_name, container_name, account_name, sas_token=None, account_key=None, protocol=None, endpoint=None, overwrite=False, create_if_not_exists=False, skip_validation=False, blob_cache_timeout=None, grant_workspace_access=False, subscription_id=None, resource_group=None)

参数

workspace
Workspace
必需

工作区。

datastore_name
str
必需

数据存储的名称(不区分大小写)只能包含字母数字字符和 _。

container_name
str
必需

Azure blob 容器的名称。

account_name
str
必需

存储帐户名称。

sas_token
str, <xref:optional>
默认值: None

帐户 SAS 令牌默认为 None。 对于数据读取,我们需要对容器 & 对象的最低列表 & 读取权限,对于数据写入,还需要写入 & 添加权限。

account_key
str, <xref:optional>
默认值: None

存储帐户的访问密钥默认为 None。

protocol
str, <xref:optional>
默认值: None

用于连接到 blob 容器的协议。 如果为 None,则默认为 https。

endpoint
str, <xref:optional>
默认值: None

存储帐户的终结点。 如果为 None,则默认为 core.windows.net。

overwrite
bool, <xref:optional>
默认值: False

覆盖现有数据存储。 如果数据存储不存在,它将创建一个,默认为 False

create_if_not_exists
bool, <xref:optional>
默认值: False

如果不存在 blob 容器,则创建该容器,默认为 False

skip_validation
bool, <xref:optional>
默认值: False

跳过存储密钥的验证,默认为 False

blob_cache_timeout
int, <xref:optional>
默认值: None

装载此 Blob 时,将缓存超时设置为此秒数。 如果为 None,则默认为无超时(即,读取时 blob 将在作业持续时间期间被缓存)。

grant_workspace_access
bool, <xref:optional>
默认值: False

默认为 False。 将其设置为 True 以从机器学习工作室访问虚拟网络后面的数据。这使机器学习工作室的数据访问使用工作区托管标识进行身份验证,并将工作区托管标识添加为存储的读者。 你必须是存储的所有者或用户访问管理员才能选择加入。 如果没有所需的权限,请要求管理员进行配置。 了解详细信息:https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network

subscription_id
str, <xref:optional>
默认值: None

存储帐户的订阅 ID 默认为 None。

resource_group
str, <xref:optional>
默认值: None

存储帐户的资源组默认为 None。

返回

Blob 数据存储。

返回类型

注解

若要从不同于工作区区域的区域附加存储,可能会导致更高的延迟和额外的网络使用成本。

register_azure_data_lake

初始化新的 Azure Data Lake 数据存储。

支持基于 (GA) 和基于标识的 (预览版) 数据访问,可以在服务主体中注册数据存储,进行基于凭据的数据访问。 如果数据存储没有保存凭据,那么如果用户的 AAD 令牌直接调用以下函数之一,则将在笔记本或本地 Python 程序中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files 计算目标的标识将在 Experiment 提交的作业中使用。提交以进行数据访问身份验证。 在此处了解更多信息

请参阅下面的示例,了解如何将 Data Lake Gen1 注册为数据存储。


   adlsgen1_datastore_name='adlsgen1datastore'

   store_name=os.getenv("ADL_STORENAME", "<my_datastore_name>") # the ADLS name
   subscription_id=os.getenv("ADL_SUBSCRIPTION", "<my_subscription_id>") # subscription id of the ADLS
   resource_group=os.getenv("ADL_RESOURCE_GROUP", "<my_resource_group>") # resource group of ADLS
   tenant_id=os.getenv("ADL_TENANT", "<my_tenant_id>") # tenant id of service principal
   client_id=os.getenv("ADL_CLIENTID", "<my_client_id>") # client id of service principal
   client_secret=os.getenv("ADL_CLIENT_SECRET", "<my_client_secret>") # the secret of service principal

   adls_datastore = Datastore.register_azure_data_lake(
       workspace=ws,
       datastore_name=aslsgen1_datastore_name,
       subscription_id=subscription_id, # subscription id of ADLS account
       resource_group=resource_group, # resource group of ADLS account
       store_name=store_name, # ADLS account name
       tenant_id=tenant_id, # tenant id of service principal
       client_id=client_id, # client id of service principal
       client_secret=client_secret) # the secret of service principal
static register_azure_data_lake(workspace, datastore_name, store_name, tenant_id=None, client_id=None, client_secret=None, resource_url=None, authority_url=None, subscription_id=None, resource_group=None, overwrite=False, grant_workspace_access=False)

参数

workspace
Workspace
必需

此数据存储所属的工作区。

datastore_name
str
必需

数据存储名称。

store_name
str
必需

ADLS 存储名称。

tenant_id
str, <xref:optional>
默认值: None

用于访问数据的服务主体的目录 ID/租户 ID。

client_id
str, <xref:optional>
默认值: None

用于访问数据的服务主体的客户端 ID/应用程序 ID。

client_secret
str, <xref:optional>
默认值: None

用于访问数据的服务主体的客户端密码。

resource_url
str, <xref:optional>
默认值: None

确定将在 Data Lake Store 上执行哪些操作的资源 URL,如果为 None,则默认为 https://datalake.azure.net/,这允许我们执行文件系统操作。

authority_url
str, <xref:optional>
默认值: None

用于对用户进行身份验证的颁发机构 URL,默认为 https://login.microsoftonline.com

subscription_id
str, <xref:optional>
默认值: None

ADLS 存储所属的订阅 ID。

resource_group
str, <xref:optional>
默认值: None

ADLS 存储所属的资源组。

overwrite
bool, <xref:optional>
默认值: False

是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。

grant_workspace_access
bool, <xref:optional>
默认值: False

默认为 False。 将其设置为 True 以从机器学习工作室访问虚拟网络后面的数据。这使机器学习工作室的数据访问使用工作区托管标识进行身份验证,并将工作区托管标识添加为存储的读者。 你必须是存储的所有者或用户访问管理员才能选择加入。 如果没有所需的权限,请要求管理员进行配置。 了解详细信息:https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network

返回

返回 Azure Data Lake 数据存储。

返回类型

注解

若要从不同于工作区区域的区域附加存储,可能会导致更高的延迟和额外的网络使用成本。

注意

Azure Data Lake 数据存储支持使用 Azure 机器学习管道进行数据传输和运行 U-Sql 作业。

还可以将它用作 Azure 机器学习数据集的数据源,可以在任何受支持的计算上下载或装载。

register_azure_data_lake_gen2

初始化新的 Azure Data Lake Gen2 数据存储。

支持基于 (GA) 和基于标识的 (预览版) 数据访问,可以在服务主体中注册数据存储,进行基于凭据的数据访问。 如果数据存储没有保存凭据,那么如果用户的 AAD 令牌直接调用以下函数之一,则将在笔记本或本地 Python 程序中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files 计算目标的标识将在 Experiment 提交的作业中使用。提交以进行数据访问身份验证。 在此处了解更多信息

static register_azure_data_lake_gen2(workspace, datastore_name, filesystem, account_name, tenant_id=None, client_id=None, client_secret=None, resource_url=None, authority_url=None, protocol=None, endpoint=None, overwrite=False, subscription_id=None, resource_group=None, grant_workspace_access=False)

参数

workspace
Workspace
必需

此数据存储所属的工作区。

datastore_name
str
必需

数据存储名称。

filesystem
str
必需

Data Lake Gen2 文件系统的名称。

account_name
str
必需

存储帐户名称。

tenant_id
str, <xref:optional>
默认值: None

服务主体的目录 ID/租户 ID。

client_id
str, <xref:optional>
默认值: None

服务主体的客户端 ID/应用程序 ID。

client_secret
str, <xref:optional>
默认值: None

服务主体的机密。

resource_url
str, <xref:optional>
默认值: None

确定将在 Data Lake Store 上执行哪些操作的资源 URL,默认为 https://storage.azure.com/,这允许我们执行文件系统操作。

authority_url
str, <xref:optional>
默认值: None

用于对用户进行身份验证的颁发机构 URL,默认为 https://login.microsoftonline.com

protocol
str, <xref:optional>
默认值: None

用于连接到 blob 容器的协议。 如果为 None,则默认为 https。

endpoint
str, <xref:optional>
默认值: None

存储帐户的终结点。 如果为 None,则默认为 core.windows.net。

overwrite
bool, <xref:optional>
默认值: False

是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。

subscription_id
str, <xref:optional>
默认值: None

ADLS 存储所属的订阅 ID。

resource_group
str, <xref:optional>
默认值: None

ADLS 存储所属的资源组。

grant_workspace_access
bool, <xref:optional>
默认值: False

默认为 False。 将其设置为 True 以从机器学习工作室访问虚拟网络后面的数据。这使机器学习工作室的数据访问使用工作区托管标识进行身份验证,并将工作区托管标识添加为存储的读者。 你必须是存储的所有者或用户访问管理员才能选择加入。 如果没有所需的权限,请要求管理员进行配置。 了解详细信息:https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network

返回

返回 Azure Data Lake Gen2 数据存储。

返回类型

注解

若要从不同于工作区区域的区域附加存储,可能会导致更高的延迟和额外的网络使用成本。

register_azure_file_share

向数据存储注册 Azure 文件共享。

可以选择使用 SAS 令牌或存储帐户密钥

static register_azure_file_share(workspace, datastore_name, file_share_name, account_name, sas_token=None, account_key=None, protocol=None, endpoint=None, overwrite=False, create_if_not_exists=False, skip_validation=False)

参数

workspace
Workspace
必需

此数据存储所属的工作区。

datastore_name
str
必需

数据存储的名称(不区分大小写)只能包含字母数字字符和 _。

file_share_name
str
必需

Azure 文件容器的名称。

account_name
str
必需

存储帐户名称。

sas_token
str, <xref:optional>
默认值: None

帐户 SAS 令牌默认为 None。 对于数据读取,我们至少需要容器 & 对象的“列表 & 读取”权限;对于数据写入,还需要“写入 & 添加”权限。

account_key
str, <xref:optional>
默认值: None

存储帐户的访问密钥默认为 None。

protocol
str, <xref:optional>
默认值: None

用于连接到文件共享的协议。 如果为 None,则默认为 https。

endpoint
str, <xref:optional>
默认值: None

文件共享的终结点。 如果为 None,则默认为 core.windows.net。

overwrite
bool, <xref:optional>
默认值: False

是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。

create_if_not_exists
bool, <xref:optional>
默认值: False

如果文件共享不存在,是否创建该文件共享。 默认值为 False。

skip_validation
bool, <xref:optional>
默认值: False

是否跳过存储密钥验证。 默认值为 False。

返回

文件数据存储。

返回类型

注解

若要从不同于工作区区域的区域附加存储,可能会导致更高的延迟和额外的网络使用成本。

register_azure_my_sql

初始化新的 Azure MySQL 数据存储。

在 Azure 机器学习管道中,MySQL 数据存储只能用于创建 DataReference 作为 DataTransferStep 的输入和输出。 此处提供了更多详细信息。

请参阅下面的示例,了解如何将 Azure MySQL 数据库注册为数据存储。

static register_azure_my_sql(workspace, datastore_name, server_name, database_name, user_id, user_password, port_number=None, endpoint=None, overwrite=False, **kwargs)

参数

workspace
Workspace
必需

此数据存储所属的工作区。

datastore_name
str
必需

数据存储名称。

server_name
str
必需

MySQL 服务器名称。

database_name
str
必需

MySQL 数据库的名称。

user_id
str
必需

MySQL 服务器的用户 ID。

user_password
str
必需

MySQL 服务器的用户密码。

port_number
str
默认值: None

MySQL 服务器的端口号。

endpoint
str, <xref:optional>
默认值: None

MySQL 服务器的终结点。 如果为 None,则默认为 mysql.database.azure.com。

overwrite
bool, <xref:optional>
默认值: False

是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。

返回

返回 MySQL 数据库数据存储。

返回类型

注解

若要从不同于工作区区域的区域附加存储,可能会导致更高的延迟和额外的网络使用成本。


   mysql_datastore_name="mysqldatastore"
   server_name=os.getenv("MYSQL_SERVERNAME", "<my_server_name>") # FQDN name of the MySQL server
   database_name=os.getenv("MYSQL_DATBASENAME", "<my_database_name>") # Name of the MySQL database
   user_id=os.getenv("MYSQL_USERID", "<my_user_id>") # The User ID of the MySQL server
   user_password=os.getenv("MYSQL_USERPW", "<my_user_password>") # The user password of the MySQL server.

   mysql_datastore = Datastore.register_azure_my_sql(
       workspace=ws,
       datastore_name=mysql_datastore_name,
       server_name=server_name,
       database_name=database_name,
       user_id=user_id,
       user_password=user_password)

register_azure_postgre_sql

初始化新的 Azure PostgreSQL 数据存储。

请参阅下面的示例,了解如何将 Azure PostgreSQL 数据库注册为数据存储。

static register_azure_postgre_sql(workspace, datastore_name, server_name, database_name, user_id, user_password, port_number=None, endpoint=None, overwrite=False, enforce_ssl=True, **kwargs)

参数

workspace
Workspace
必需

此数据存储所属的工作区。

datastore_name
str
必需

数据存储名称。

server_name
str
必需

PostgreSQL 服务器名称。

database_name
str
必需

PostgreSQL 数据库名称。

user_id
str
必需

PostgreSQL 服务器的用户 ID。

user_password
str
必需

PostgreSQL 服务器的用户密码。

port_number
str
默认值: None

PostgreSQL 服务器的端口号

endpoint
str, <xref:optional>
默认值: None

PostgreSQL 服务器的终结点。 如果为 None,则默认为 postgres.database.azure.com。

overwrite
bool, <xref:optional>
默认值: False

是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。

enforce_ssl
bool
默认值: True

指示 PostgreSQL 服务器的 SSL 要求。 默认为 True。

返回

返回 PostgreSQL 数据库数据存储。

返回类型

注解

若要从不同于工作区区域的区域附加存储,可能会导致更高的延迟和额外的网络使用成本。


   psql_datastore_name="postgresqldatastore"
   server_name=os.getenv("PSQL_SERVERNAME", "<my_server_name>") # FQDN name of the PostgreSQL server
   database_name=os.getenv("PSQL_DATBASENAME", "<my_database_name>") # Name of the PostgreSQL database
   user_id=os.getenv("PSQL_USERID", "<my_user_id>") # The database user id
   user_password=os.getenv("PSQL_USERPW", "<my_user_password>") # The database user password

   psql_datastore = Datastore.register_azure_postgre_sql(
       workspace=ws,
       datastore_name=psql_datastore_name,
       server_name=server_name,
       database_name=database_name,
       user_id=user_id,
       user_password=user_password)

register_azure_sql_database

初始化新的 Azure SQL 数据库数据存储。

支持基于凭据 (GA) 和基于标识 (预览版) 的数据访问,可以选择使用服务主体或用户名 + 密码。 如果数据存储没有保存凭据,那么如果用户的 AAD 令牌直接调用以下函数之一,则将在笔记本或本地 Python 程序中使用:FileDataset.mount FileDataset.download FileDataset.to_path TabularDataset.to_pandas_dataframe TabularDataset.to_dask_dataframe TabularDataset.to_spark_dataframe TabularDataset.to_parquet_files TabularDataset.to_csv_files 计算目标的标识将在 Experiment 提交的作业中使用。提交以进行数据访问身份验证。 在此处了解更多信息

请参阅下面的示例,了解如何将 Azure SQL 数据库注册为数据存储。

static register_azure_sql_database(workspace, datastore_name, server_name, database_name, tenant_id=None, client_id=None, client_secret=None, resource_url=None, authority_url=None, endpoint=None, overwrite=False, username=None, password=None, subscription_id=None, resource_group=None, grant_workspace_access=False, **kwargs)

参数

workspace
Workspace
必需

此数据存储所属的工作区。

datastore_name
str
必需

数据存储名称。

server_name
str
必需

SQL 服务器名称。 对于完全限定的域名(如“sample.database.windows.net”),server_name 值应为“sample”,终结点值应为“database.windows.net”。

database_name
str
必需

SQL 数据库名称。

tenant_id
str
默认值: None

服务主体的目录 ID/租户 ID。

client_id
str
默认值: None

服务主体的客户端 ID/应用程序 ID。

client_secret
str
默认值: None

服务主体的机密。

resource_url
str, <xref:optional>
默认值: None

确定将在 SQL 数据库存储上执行哪些操作的资源 URL,如果是 None,则默认为 https://database.windows.net/

authority_url
str, <xref:optional>
默认值: None

用于对用户进行身份验证的颁发机构 URL,默认为 https://login.microsoftonline.com

endpoint
str, <xref:optional>
默认值: None

SQL 服务器的终结点。 如果没有,则默认为 database.windows.net。

overwrite
bool, <xref:optional>
默认值: False

是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。

username
str
默认值: None

数据库用户用于访问数据库的用户名。

password
str
默认值: None

数据库用户用于访问数据库的密码。

skip_validation
bool, <xref:optional>
必需

是否跳过连接到 SQL 数据库的验证。 默认为 False。

subscription_id
str, <xref:optional>
默认值: None

ADLS 存储所属的订阅 ID。

resource_group
str, <xref:optional>
默认值: None

ADLS 存储所属的资源组。

grant_workspace_access
bool, <xref:optional>
默认值: False

默认为 False。 将其设置为 True 以从机器学习工作室访问虚拟网络后面的数据。这使机器学习工作室的数据访问使用工作区托管标识进行身份验证,并将工作区托管标识添加为存储的读者。 你必须是存储的所有者或用户访问管理员才能选择加入。 如果没有所需的权限,请要求管理员进行配置。 了解详细信息:https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network

返回

返回 SQL 数据库数据存储。

返回类型

注解

若要从不同于工作区区域的区域附加存储,可能会导致更高的延迟和额外的网络使用成本。


   sql_datastore_name="azuresqldatastore"
   server_name=os.getenv("SQL_SERVERNAME", "<my_server_name>") # Name of the Azure SQL server
   database_name=os.getenv("SQL_DATABASENAME", "<my_database_name>") # Name of the Azure SQL database
   username=os.getenv("SQL_USER_NAME", "<my_sql_user_name>") # The username of the database user.
   password=os.getenv("SQL_USER_PASSWORD", "<my_sql_user_password>") # The password of the database user.

   sql_datastore = Datastore.register_azure_sql_database(
       workspace=ws,
       datastore_name=sql_datastore_name,
       server_name=server_name,  # name should not contain fully qualified domain endpoint
       database_name=database_name,
       username=username,
       password=password,
       endpoint='database.windows.net')

register_dbfs

初始化新的 Databricks 文件系统 (DBFS) 数据存储。

在 Azure 机器学习管道中,DBFS 数据存储只能用于创建 DataReference 作为 DatabricksStep 的输入和 PipelineData 作为其输出。 此处提供了更多详细信息

static register_dbfs(workspace, datastore_name)

参数

workspace
Workspace
必需

此数据存储所属的工作区。

datastore_name
str
必需

数据存储名称。

返回

返回 DBFS 数据存储。

返回类型

注解

若要从不同于工作区区域的区域附加存储,可能会导致更高的延迟和额外的网络使用成本。

register_hdfs

注意

这是一个实验性的方法,可能会在任何时候更改。 有关详细信息,请参阅 https://aka.ms/azuremlexperimental

初始化新的 HDFS 数据存储。

static register_hdfs(workspace, datastore_name, protocol, namenode_address, hdfs_server_certificate, kerberos_realm, kerberos_kdc_address, kerberos_principal, kerberos_keytab=None, kerberos_password=None, overwrite=False)

参数

workspace
Workspace
必需

此数据存储所属的工作区

datastore_name
str
必需

数据存储名称

protocol
str 或 <xref:_restclient.models.enum>
必需

与 HDFS 群集通信时要使用的协议。 http 或 https。 可能的值包括:“http”、“https”

namenode_address
str
必需

HDFS namenode 的 IP 地址或 DNS 主机名。 选择性地包含端口。

hdfs_server_certificate
str, <xref:optional>
必需

HDFS namenode 的 TLS 签名证书路径(如果将 TLS 与自签名证书配合使用)。

kerberos_realm
str
必需

Kerberos 领域。

kerberos_kdc_address
str
必需

Kerberos KDC 的 IP 地址或 DNS 主机名。

kerberos_principal
str
必需

用于身份验证和授权的 Kerberos 主体。

kerberos_keytab
str, <xref:optional>
必需

密钥表文件的路径(该文件包含与 Kerberos 主体对应的密钥) 提供此路径或密码。

kerberos_password
str, <xref:optional>
必需

与 Kerberos 主体对应的密码。 提供此密码或密钥表文件的路径。

overwrite
bool, <xref:optional>
必需

覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认为 False。

set_as_default

设置默认数据存储。

set_as_default()

参数

datastore_name
str
必需

数据存储的名称。

unregister

取消注册数据存储。 不会删除基础存储服务。

unregister()