AzureBlobDatastore 类

表示将连接信息保存到 Azure Blob 的数据存储。

不应直接使用此类。 若要创建此类型的数据存储,请使用数据存储的 register_azure_blob_container 方法。

注意:使用数据存储访问数据时,必须具有访问数据的权限,这取决于在数据存储中注册的凭据。

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

继承
AzureBlobDatastore

构造函数

AzureBlobDatastore(workspace, name, container_name, account_name, sas_token=None, account_key=None, protocol=None, endpoint=None, request_session=None, workspace_msi_has_access=False, subscription_id=None, resource_group=None, service_data_access_auth_identity=None)

参数

workspace
Workspace
必需

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

name
str
必需

数据存储的名称。 它只能包含字母数字字符、“-”或“_”。

container_name
str
必需

Blob 容器名称。

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

Blob 容器的终结点。 如果为 None,则默认为 core.windows.net。

request_session
<xref:requests.Session>, <xref:optional>
默认值: None

用于 http 请求的会话对象。 默认值为“None”。

workspace
Workspace
必需

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

name
str
必需

数据存储的名称。 它只能包含字母数字字符、“-”或“_”。

container_name
str
必需

Blob 容器名称。

account_name
str
必需

存储帐户名称。

sas_token
str, <xref:optional>
必需

用于访问此容器的 SAS 令牌。 默认值为“None”。

account_key
str, <xref:optional>
必需

存储帐户密钥。 默认值为“None”。

protocol
str, <xref:optional>
必需

用于连接到存储帐户的协议。 如果为 None,则默认为 https。

endpoint
str, <xref:optional>
必需

Blob 容器的终结点。 如果为 None,则默认为 core.windows.net。

request_session
<xref:requests.Session>, <xref:optional>
必需

用于 http 请求的会话对象。 默认值为“None”。

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

工作区 MSI 是否有权访问此存储帐户。 (已弃用)

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

存储帐户的订阅 ID。

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

存储帐户的资源组。

service_data_access_auth_identity
str 或 <xref:_restclient.models.ServiceDataAccessAuthIdentity>
默认值: None

指示用于验证客户存储的服务数据访问的标识。 可能的值包括:"None"、"WorkspaceSystemAssignedIdentity"、"WorkspaceUserAssignedIdentity"

方法

download

将数据从 Blob 容器下载到本地文件系统。

upload

将数据从本地文件系统上传到此数据存储指向的 Blob 容器。

注意:若要使此方法正常工作,数据存储对象必须填充帐户密钥或 SAS 令牌属性。 如果数据存储对象不包含任何形式的凭据,则此方法将失败。 此外,此方法已弃用,将来可能会删除。 我们建议使用 Dataset.File.upload_directory 方法从本地目录上传文件,在单个方法调用中创建 FileDataset。

upload_files

将数据从本地文件系统上传到此数据存储指向的 Blob 容器。

注意:此方法已弃用,将不再受支持。 建议改用 FileDatasetFactory.upload_directory

download

将数据从 Blob 容器下载到本地文件系统。

download(target_path, prefix=None, overwrite=False, show_progress=True)

参数

target_path
str
必需

要将文件下载到的本地目录。

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

要下载的 Blob 容器中的文件夹的路径。 如果设置为“None”,则将下载 Blob 中的所有内容。 默认值为“None”。

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

指示是否覆盖现有文件。 默认为 False。

show_progress
bool, <xref:optional>
默认值: True

指示是否在控制台中显示下载进度。 默认为 True。

返回

成功下载的文件数。

返回类型

int

upload

将数据从本地文件系统上传到此数据存储指向的 Blob 容器。

注意:若要使此方法正常工作,数据存储对象必须填充帐户密钥或 SAS 令牌属性。 如果数据存储对象不包含任何形式的凭据,则此方法将失败。 此外,此方法已弃用,将来可能会删除。 我们建议使用 Dataset.File.upload_directory 方法从本地目录上传文件,在单个方法调用中创建 FileDataset。

upload(src_dir, target_path=None, overwrite=False, show_progress=True)

参数

src_dir
str
必需

要上传的本地目录。

target_path
str
必需

要上传到的 Blob 容器中的位置。 如果为 None,则上传到根目录。 默认值为“None”。

overwrite
bool, <xref:optional>
必需

指示是否覆盖现有文件。 默认为 False。

show_progress
bool, <xref:optional>
必需

指示是否在控制台中显示上传进度。 默认为 True。

返回

上传的目标路径的 DataReference 实例。

返回类型

upload_files

将数据从本地文件系统上传到此数据存储指向的 Blob 容器。

注意:此方法已弃用,将不再受支持。 建议改用 FileDatasetFactory.upload_directory

upload_files(files, relative_root=None, target_path=None, overwrite=False, show_progress=True)

参数

files
list[str]
必需

要上传的文件的绝对路径列表。

relative_root
str, <xref:optional>
必需

用于确定 Blob 中文件的路径的根。 例如,如果我们上传 /path/to/file.txt,并且将基路径定义为 /path,则当 file.txt 上传到 Blob 存储时,其路径将为 /to/file.txt。 如果还给定了 target_path,则它将用作上述派生路径的前缀。 基路径必须是所有文件的公用路径,否则将引发异常。 默认为 None,它将查找公共路径。

target_path
str, <xref:optional>
必需

要将数据上传到的 Blob 容器中的位置。 默认为 None,即为根。

overwrite
bool, <xref:optional>
必需

指示是否覆盖现有文件。 默认为 False。

show_progress
bool, <xref:optional>
必需

指示是否在控制台中显示上传进度。 默认为 True。

返回

上传的目标路径的 DataReference 实例。

返回类型