AzureBlobDatastore Class

Represents a datastore that saves connection information to Azure Blob storage.

You should not work with this class directly. To create a datastore of this type, use the register_azure_blob_container method of Datastore.

Note: When using a datastore to access data, you must have permission to access that data, which depends on the credentials registered with the datastore.

Initialize a new Azure Blob Datastore.

Inheritance
AzureBlobDatastore

Constructor

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)

Parameters

workspace
Workspace
Required

The workspace this datastore belongs to.

name
str
Required

The name of the datastore. It can only contain alphanumeric characters or - or _.

container_name
str
Required

The blob container name.

account_name
str
Required

The storage account name.

sas_token
str, <xref:optional>
default value: None

The SAS token for accessing this container. Defaults to None.

account_key
str, <xref:optional>
default value: None

The storage account key. Defaults to None.

protocol
str, <xref:optional>
default value: None

The protocol to use to connect to the storage account. If None, defaults to https.

endpoint
str, <xref:optional>
default value: None

The endpoint of the blob container. If None, defaults to core.windows.net.

request_session
<xref:requests.Session>, <xref:optional>
default value: None

the session object to use for http requests. Defaults to None.

workspace
Workspace
Required

The workspace this datastore belongs to.

name
str
Required

The name of the datastore. It can only contain alphanumeric characters or - or _.

container_name
str
Required

The blob container name.

account_name
str
Required

The storage account name.

sas_token
str, <xref:optional>
Required

The SAS token for accessing this container. Defaults to None.

account_key
str, <xref:optional>
Required

The storage account key. Defaults to None.

protocol
str, <xref:optional>
Required

The protocol to use to connect to the storage account. If None, defaults to https.

endpoint
str, <xref:optional>
Required

The endpoint of the blob container. If None, defaults to core.windows.net.

request_session
<xref:requests.Session>, <xref:optional>
Required

The session object to use for http requests. Defaults to None.

workspace_msi_has_access
bool, <xref:optional>
default value: False

Whether the Workspace MSI has access to this storage account.(Deprecated)

subscription_id
str, <xref:optional>
default value: None

The subscription ID of the storage account.

resource_group
str, <xref:optional>
default value: None

The resource group of the storage account.

service_data_access_auth_identity
str or <xref:_restclient.models.ServiceDataAccessAuthIdentity>
default value: None

Indicates which identity to use to authenticate service data access to customer's storage. Possible values include: 'None', 'WorkspaceSystemAssignedIdentity', 'WorkspaceUserAssignedIdentity'

Methods

download

Download the data from the blob container to the local file system.

upload

Upload the data from the local file system to blob container this data store points to.

Note: For this method to work, the datastore object must have either account key or SAS token property populated. If datastore object doesn't contain any form of credential, this method will fail. Moreover, this method has been deprecated, may be removed in future. We suggest that you use the Dataset.File.upload_directory method to upload your files from local directory and create FileDataset in a single method call.

upload_files

Upload the data from the local file system to the blob container this datastore points to.

Note: This method is deprecated and will no longer be supported. Recommend to use FileDatasetFactory.upload_directory instead.

download

Download the data from the blob container to the local file system.

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

Parameters

target_path
str
Required

The local directory to download the file to.

prefix
str, <xref:optional>
default value: None

The path to the folder in the blob container to download. If set to None, will download everything in the blob. Defaults to None.

overwrite
bool, <xref:optional>
default value: False

Indicates whether to overwrite existing files. Defaults to False.

show_progress
bool, <xref:optional>
default value: True

Indicates whether to show the progress of the download in the console. Defaults to True.

Returns

The number of files successfully downloaded.

Return type

int

upload

Upload the data from the local file system to blob container this data store points to.

Note: For this method to work, the datastore object must have either account key or SAS token property populated. If datastore object doesn't contain any form of credential, this method will fail. Moreover, this method has been deprecated, may be removed in future. We suggest that you use the Dataset.File.upload_directory method to upload your files from local directory and create FileDataset in a single method call.

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

Parameters

src_dir
str
Required

The local directory to upload.

target_path
str
Required

The location in blob container to upload to. If None, then upload to root. Defaults to None.

overwrite
bool, <xref:optional>
Required

Indicates whether to overwrite existing files. Defaults to False.

show_progress
bool, <xref:optional>
Required

Indicates whether to show progress of the upload in the console. Defaults to True.

Returns

The DataReference instance for the target path uploaded.

Return type

upload_files

Upload the data from the local file system to the blob container this datastore points to.

Note: This method is deprecated and will no longer be supported. Recommend to use FileDatasetFactory.upload_directory instead.

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

Parameters

files
list[str]
Required

A list of absolute paths of files to upload.

relative_root
str, <xref:optional>
Required

The root used to determine the path of the files in the blob. For example, if we upload /path/to/file.txt, and we define base path to be /path, when file.txt is uploaded to the blob storage, it will have the path of /to/file.txt. If target_path is also given, then it will be used as the prefix for the derived path from above. The base path must be a common path of all of the files, otherwise an exception will be thrown. Defaults to None, which will find the common path.

target_path
str, <xref:optional>
Required

The location in the blob container to upload the data to. Defaults to None, the root.

overwrite
bool, <xref:optional>
Required

Indicates whether to overwrite existing files. Defaults to False.

show_progress
bool, <xref:optional>
Required

Indicates whether to show progress of the upload in the console. Defaults to True.

Returns

The DataReference instance for the target path uploaded.

Return type