Datastore 类
表示 Azure 机器学习存储帐户的存储抽象。
数据存储附加到工作区,用于将连接信息存储到 Azure 存储服务,以便按名称引用它们,无需记住用于连接到存储服务的连接信息和机密。
可注册为数据存储的受支持 Azure 存储服务的示例包括:
Azure Blob 容器
Azure 文件共享
Azure Data Lake
Azure Data Lake Gen2
Azure SQL 数据库
适用于 PostgreSQL 的 Azure 数据库
Databricks 文件系统
适用于 MySQL 的 Azure 数据库
使用此类执行管理作,包括注册、列出、获取和删除数据存储。
使用此类的方法创建 register*
每个服务的数据存储。 使用数据存储访问数据时,必须有权访问该数据,具体取决于向数据存储注册的凭据。
有关数据存储以及如何在机器学习中使用数据存储的详细信息,请参阅以下文章:
按名称获取数据存储。 此调用将向数据存储服务发出请求。
构造函数
Datastore(workspace, name=None)
参数
名称 | 说明 |
---|---|
workspace
必需
|
工作区。 |
name
|
str, <xref:optional>
数据存储的名称默认为 None,后者获取默认数据存储。 默认值: None
|
注解
若要与数据存储中的数据进行交互以执行机器学习任务(例如训练), 请创建 Azure 机器学习数据集。 数据集提供将表格数据加载到 pandas 或 Spark 数据帧中的函数。 数据集还可以从 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 令牌直接调用以下函数之一,则用户 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.submit 提交的作业中将用于数据访问身份验证的计算目标的标识。 在此处了解详细信息。 |
register_azure_data_lake |
初始化新的 Azure Data Lake 数据存储。 支持基于凭据(GA)和基于标识(预览版)的数据访问,可以将数据存储注册到服务主体,以便进行基于凭据的数据访问。 如果数据存储中未保存任何凭据,则如果用户的 AAD 令牌直接调用以下函数之一,则用户 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.submit 提交的作业中将用于数据访问身份验证的计算目标的标识。 在此处了解详细信息。 有关如何将 Azure Data Lake Gen1 注册为数据存储的示例,请参阅下文。
|
register_azure_data_lake_gen2 |
初始化新的 Azure Data Lake Gen2 数据存储。 支持基于凭据(GA)和基于标识(预览版)的数据访问,可以将数据存储注册到服务主体,以便进行基于凭据的数据访问。 如果数据存储中未保存任何凭据,则如果用户的 AAD 令牌直接调用以下函数之一,则用户 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.submit 提交的作业中将用于数据访问身份验证的计算目标的标识。 在此处了解详细信息。 |
register_azure_file_share |
将 Azure 文件共享注册到数据存储。 可以选择使用 SAS 令牌或存储帐户密钥 |
register_azure_my_sql |
初始化新的 Azure MySQL 数据存储。 MySQL 数据存储只能用于在 Azure 机器学习管道中创建 DataReference 作为 DataTransferStep 的输入和输出。 可在此处找到更多详细信息。 有关如何将 Azure MySQL 数据库注册为数据存储的示例,请参阅下文。 |
register_azure_postgre_sql |
初始化新的 Azure PostgreSQL 数据存储。 有关如何将 Azure PostgreSQL 数据库注册为数据存储的示例,请参阅下文。 |
register_azure_sql_database |
初始化新的 Azure SQL 数据库数据存储。 支持基于凭据(GA)和基于标识(预览版)的数据访问,可以选择使用服务主体或用户名 + 密码。 如果数据存储中未保存任何凭据,则如果用户的 AAD 令牌直接调用以下函数之一,则用户 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.submit 提交的作业中将用于数据访问身份验证的计算目标的标识。 在此处了解详细信息。 有关如何将 Azure SQL 数据库注册为数据存储的示例,请参阅下文。 |
register_dbfs |
初始化新的 Databricks 文件系统(DBFS)数据存储。 DBFS 数据存储只能用于在 Azure 机器学习管道中创建 DataReference 作为输入和 PipelineData 作为 DatabricksStep 的输出。 可在此处找到更多详细信息。 |
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 令牌直接调用以下函数之一,则用户 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.submit 提交的作业中将用于数据访问身份验证的计算目标的标识。 在此处了解详细信息。
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
|
account_key
|
str, <xref:optional>
存储帐户的访问密钥默认为“无”。 默认值: 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 容器不存在,则创建 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
|
返回
类型 | 说明 |
---|---|
Blob 数据存储。 |
注解
如果要从与工作区区域不同的区域附加存储,则可能会导致更高的延迟和额外的网络使用成本。
register_azure_data_lake
初始化新的 Azure Data Lake 数据存储。
支持基于凭据(GA)和基于标识(预览版)的数据访问,可以将数据存储注册到服务主体,以便进行基于凭据的数据访问。 如果数据存储中未保存任何凭据,则如果用户的 AAD 令牌直接调用以下函数之一,则用户 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.submit 提交的作业中将用于数据访问身份验证的计算目标的标识。 在此处了解详细信息。
有关如何将 Azure 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>
资源 URL(确定将在 Data Lake Store 上执行哪些作(如果 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 令牌直接调用以下函数之一,则用户 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.submit 提交的作业中将用于数据访问身份验证的计算目标的标识。 在此处了解详细信息。
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>
资源 URL(确定将在 Data Lake Store 上执行哪些作),默认 默认值: 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
|
account_key
|
str, <xref:optional>
存储帐户的访问密钥默认为“无”。 默认值: 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 数据存储。
MySQL 数据存储只能用于在 Azure 机器学习管道中创建 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 令牌直接调用以下函数之一,则用户 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.submit 提交的作业中将用于数据访问身份验证的计算目标的标识。 在此处了解详细信息。
有关如何将 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 Server 名称。 对于“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>
资源 URL,用于确定将在 SQL 数据库存储上执行哪些作(如果 None)默认为 https://database.windows.net/。 默认值: None
|
authority_url
|
str, <xref:optional>
用于对用户进行身份验证的颁发机构 URL 默认为 https://login.microsoftonline.com。 默认值: None
|
endpoint
|
str, <xref:optional>
SQL Server 的终结点。 如果为 None,则默认为 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)数据存储。
DBFS 数据存储只能用于在 Azure 机器学习管道中创建 DataReference 作为输入和 PipelineData 作为 DatabricksStep 的输出。 可在此处找到更多详细信息。
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 名称节点的 IP 地址或 DNS 主机名。 (可选)包括端口。 |
hdfs_server_certificate
必需
|
str, <xref:optional>
HDFS 名称节点的 TLS 签名证书的路径(如果对自签名证书使用 TLS)。 |
kerberos_realm
必需
|
Kerberos 领域。 |
kerberos_kdc_address
必需
|
Kerberos KDC 的 IP 地址或 DNS 主机名。 |
kerberos_principal
必需
|
用于身份验证和授权的 Kerberos 主体。 |
kerberos_keytab
必需
|
str, <xref:optional>
keytab 文件的路径,其中包含对应于 Kerberos 主体的键(s)。 提供此密码或密码。 |
kerberos_password
必需
|
str, <xref:optional>
对应于 Kerberos 主体的密码。 提供此项或 keytab 文件的路径。 |
overwrite
必需
|
bool, <xref:optional>
覆盖现有数据存储。 如果数据存储不存在,它将创建一个数据存储。 默认为 False。 |
set_as_default
unregister
取消注册数据存储。 不会删除基础存储服务。
unregister()