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.objectDatastore
构造函数
Datastore(workspace, name=None)
参数
名称 | 说明 |
---|---|
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")
方法
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 注册为数据存储。
|
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
必需
|
工作区。 |
datastore_name
必需
|
str, <xref:optional>
数据存储的名称默认为 None,这将获取默认数据存储。 |
返回
类型 | 说明 |
---|---|
该名称的相应数据存储。 |
get_default
获取工作区的默认数据存储。
static get_default(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
必需
|
工作区。 |
datastore_name
必需
|
数据存储的名称(不区分大小写)只能包含字母数字字符和 _。 |
container_name
必需
|
Azure blob 容器的名称。 |
account_name
必需
|
存储帐户名称。 |
sas_token
|
str, <xref:optional>
帐户 SAS 令牌默认为 None。 对于数据读取,我们至少需要容器 & 对象的“列表 & 读取”权限;对于数据写入,还需要“写入 & 添加”权限。 默认值: None
|
account_key
|
str, <xref:optional>
存储帐户的访问密钥默认为 None。 默认值: None
|
protocol
|
str, <xref:optional>
用于连接到 blob 容器的协议。 如果为 None,则默认为 https。 默认值: None
|
endpoint
|
str, <xref:optional>
存储帐户的终结点。 如果为 None,则默认为 core.windows.net。 默认值: None
|
overwrite
|
bool, <xref:optional>
覆盖现有数据存储。 如果数据存储不存在,它将创建一个,默认为 False 默认值: False
|
create_if_not_exists
|
bool, <xref:optional>
如果不存在 blob 容器,则创建该容器,默认为 False 默认值: False
|
skip_validation
|
bool, <xref:optional>
跳过存储密钥的验证,默认为 False 默认值: False
|
blob_cache_timeout
|
int, <xref:optional>
装载此 Blob 时,将缓存超时设置为此秒数。 如果为 None,则默认为无超时(即,读取时 blob 将在作业持续时间期间被缓存)。 默认值: None
|
grant_workspace_access
|
bool, <xref:optional>
默认为 False。 将其设置为 True 以从机器学习工作室访问虚拟网络后面的数据。这使机器学习工作室的数据访问使用工作区托管标识进行身份验证,并将工作区托管标识添加为存储的读者。 你必须是存储的所有者或用户访问管理员才能选择加入。 如果没有所需的权限,请要求管理员进行配置。 了解详细信息:https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network。 默认值: False
|
subscription_id
|
str, <xref:optional>
存储帐户的订阅 ID 默认为 None。 默认值: 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
必需
|
此数据存储所属的工作区。 |
datastore_name
必需
|
数据存储名称。 |
store_name
必需
|
ADLS 存储名称。 |
tenant_id
|
str, <xref:optional>
用于访问数据的服务主体的目录 ID/租户 ID。 默认值: None
|
client_id
|
str, <xref:optional>
用于访问数据的服务主体的客户端 ID/应用程序 ID。 默认值: None
|
client_secret
|
str, <xref:optional>
用于访问数据的服务主体的客户端密码。 默认值: None
|
resource_url
|
str, <xref:optional>
确定将在 Data Lake Store 上执行哪些操作的资源 URL,如果为 None,则默认为 默认值: None
|
authority_url
|
str, <xref:optional>
用于对用户进行身份验证的颁发机构 URL,默认为 默认值: None
|
subscription_id
|
str, <xref:optional>
ADLS 存储所属的订阅 ID。 默认值: None
|
resource_group
|
str, <xref:optional>
ADLS 存储所属的资源组。 默认值: None
|
overwrite
|
bool, <xref:optional>
是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。 默认值: False
|
grant_workspace_access
|
bool, <xref:optional>
默认为 False。 将其设置为 True 以从机器学习工作室访问虚拟网络后面的数据。这使机器学习工作室的数据访问使用工作区托管标识进行身份验证,并将工作区托管标识添加为存储的读者。 你必须是存储的所有者或用户访问管理员才能选择加入。 如果没有所需的权限,请要求管理员进行配置。 了解详细信息:https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network。 默认值: False
|
返回
类型 | 说明 |
---|---|
返回 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
必需
|
此数据存储所属的工作区。 |
datastore_name
必需
|
数据存储名称。 |
filesystem
必需
|
Data Lake Gen2 文件系统的名称。 |
account_name
必需
|
存储帐户名称。 |
tenant_id
|
str, <xref:optional>
服务主体的目录 ID/租户 ID。 默认值: None
|
client_id
|
str, <xref:optional>
服务主体的客户端 ID/应用程序 ID。 默认值: None
|
client_secret
|
str, <xref:optional>
服务主体的机密。 默认值: None
|
resource_url
|
str, <xref:optional>
确定将在 Data Lake Store 上执行哪些操作的资源 URL,默认为 默认值: None
|
authority_url
|
str, <xref:optional>
用于对用户进行身份验证的颁发机构 URL,默认为 默认值: None
|
protocol
|
str, <xref:optional>
用于连接到 blob 容器的协议。 如果为 None,则默认为 https。 默认值: None
|
endpoint
|
str, <xref:optional>
存储帐户的终结点。 如果为 None,则默认为 core.windows.net。 默认值: None
|
overwrite
|
bool, <xref:optional>
是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。 默认值: False
|
subscription_id
|
str, <xref:optional>
ADLS 存储所属的订阅 ID。 默认值: None
|
resource_group
|
str, <xref:optional>
ADLS 存储所属的资源组。 默认值: None
|
grant_workspace_access
|
bool, <xref:optional>
默认为 False。 将其设置为 True 以从机器学习工作室访问虚拟网络后面的数据。这使机器学习工作室的数据访问使用工作区托管标识进行身份验证,并将工作区托管标识添加为存储的读者。 你必须是存储的所有者或用户访问管理员才能选择加入。 如果没有所需的权限,请要求管理员进行配置。 了解详细信息:https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network。 默认值: False
|
返回
类型 | 说明 |
---|---|
返回 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
必需
|
此数据存储所属的工作区。 |
datastore_name
必需
|
数据存储的名称(不区分大小写)只能包含字母数字字符和 _。 |
file_share_name
必需
|
Azure 文件容器的名称。 |
account_name
必需
|
存储帐户名称。 |
sas_token
|
str, <xref:optional>
帐户 SAS 令牌默认为 None。 对于数据读取,我们需要对容器 & 对象的最低列表 & 读取权限,对于数据写入,还需要写入 & 添加权限。 默认值: None
|
account_key
|
str, <xref:optional>
存储帐户的访问密钥默认为 None。 默认值: None
|
protocol
|
str, <xref:optional>
用于连接到文件共享的协议。 如果为 None,则默认为 https。 默认值: None
|
endpoint
|
str, <xref:optional>
文件共享的终结点。 如果为 None,则默认为 core.windows.net。 默认值: None
|
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
必需
|
此数据存储所属的工作区。 |
datastore_name
必需
|
数据存储名称。 |
server_name
必需
|
MySQL 服务器名称。 |
database_name
必需
|
MySQL 数据库的名称。 |
user_id
必需
|
MySQL 服务器的用户 ID。 |
user_password
必需
|
MySQL 服务器的用户密码。 |
port_number
|
MySQL 服务器的端口号。 默认值: None
|
endpoint
|
str, <xref:optional>
MySQL 服务器的终结点。 如果为 None,则默认为 mysql.database.azure.com。 默认值: None
|
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
必需
|
此数据存储所属的工作区。 |
datastore_name
必需
|
数据存储名称。 |
server_name
必需
|
PostgreSQL 服务器名称。 |
database_name
必需
|
PostgreSQL 数据库名称。 |
user_id
必需
|
PostgreSQL 服务器的用户 ID。 |
user_password
必需
|
PostgreSQL 服务器的用户密码。 |
port_number
|
PostgreSQL 服务器的端口号 默认值: None
|
endpoint
|
str, <xref:optional>
PostgreSQL 服务器的终结点。 如果为 None,则默认为 postgres.database.azure.com。 默认值: None
|
overwrite
|
bool, <xref:optional>
是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。 默认值: False
|
enforce_ssl
|
指示 PostgreSQL 服务器的 SSL 要求。 默认为 True。 默认值: 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
必需
|
此数据存储所属的工作区。 |
datastore_name
必需
|
数据存储名称。 |
server_name
必需
|
SQL 服务器名称。 对于完全限定的域名(如“sample.database.windows.net”),server_name 值应为“sample”,终结点值应为“database.windows.net”。 |
database_name
必需
|
SQL 数据库名称。 |
tenant_id
|
服务主体的目录 ID/租户 ID。 默认值: None
|
client_id
|
服务主体的客户端 ID/应用程序 ID。 默认值: None
|
client_secret
|
服务主体的机密。 默认值: None
|
resource_url
|
str, <xref:optional>
确定将在 SQL 数据库存储上执行哪些操作的资源 URL,如果是 None,则默认为 https://database.windows.net/。 默认值: None
|
authority_url
|
str, <xref:optional>
用于对用户进行身份验证的颁发机构 URL,默认为 https://login.microsoftonline.com。 默认值: None
|
endpoint
|
str, <xref:optional>
SQL 服务器的终结点。 如果没有,则默认为 database.windows.net。 默认值: None
|
overwrite
|
bool, <xref:optional>
是否覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认值为 False。 默认值: False
|
username
|
数据库用户用于访问数据库的用户名。 默认值: None
|
password
|
数据库用户用于访问数据库的密码。 默认值: None
|
skip_validation
必需
|
bool, <xref:optional>
是否跳过连接到 SQL 数据库的验证。 默认为 False。 |
subscription_id
|
str, <xref:optional>
ADLS 存储所属的订阅 ID。 默认值: None
|
resource_group
|
str, <xref:optional>
ADLS 存储所属的资源组。 默认值: None
|
grant_workspace_access
|
bool, <xref:optional>
默认为 False。 将其设置为 True 以从机器学习工作室访问虚拟网络后面的数据。这使机器学习工作室的数据访问使用工作区托管标识进行身份验证,并将工作区托管标识添加为存储的读者。 你必须是存储的所有者或用户访问管理员才能选择加入。 如果没有所需的权限,请要求管理员进行配置。 了解详细信息:https://docs.microsoft.com/azure/machine-learning/how-to-enable-studio-virtual-network。 默认值: False
|
返回
类型 | 说明 |
---|---|
返回 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
必需
|
此数据存储所属的工作区。 |
datastore_name
必需
|
数据存储名称。 |
返回
类型 | 说明 |
---|---|
返回 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
必需
|
此数据存储所属的工作区 |
datastore_name
必需
|
数据存储名称 |
protocol
必需
|
str 或
<xref:_restclient.models.enum>
与 HDFS 群集通信时要使用的协议。 http 或 https。 可能的值包括:“http”、“https” |
namenode_address
必需
|
HDFS namenode 的 IP 地址或 DNS 主机名。 选择性地包含端口。 |
hdfs_server_certificate
必需
|
str, <xref:optional>
HDFS namenode 的 TLS 签名证书路径(如果将 TLS 与自签名证书配合使用)。 |
kerberos_realm
必需
|
Kerberos 领域。 |
kerberos_kdc_address
必需
|
Kerberos KDC 的 IP 地址或 DNS 主机名。 |
kerberos_principal
必需
|
用于身份验证和授权的 Kerberos 主体。 |
kerberos_keytab
必需
|
str, <xref:optional>
密钥表文件的路径(该文件包含与 Kerberos 主体对应的密钥) 提供此路径或密码。 |
kerberos_password
必需
|
str, <xref:optional>
与 Kerberos 主体对应的密码。 提供此密码或密钥表文件的路径。 |
overwrite
必需
|
bool, <xref:optional>
覆盖现有数据存储。 如果数据存储不存在,它将创建一个。 默认为 False。 |
set_as_default
unregister
取消注册数据存储。 不会删除基础存储服务。
unregister()