blob#
Functions for interacting with Azure Blob Storage.
Functions#
Create an Azure blob storage container if it does not already exist. |
|
|
Upload a file or list of files to an Azure blob storage container. |
|
Download a list of files from an Azure blob storage container. |
Get configuration for mounting Azure Blob Storage containers to Azure Batch nodes via blobfuse. |
Module Contents#
- create_storage_container_if_not_exists(blob_storage_container_name: str, blob_service_client: azure.storage.blob.BlobServiceClient) None #
Create an Azure blob storage container if it does not already exist.
Parameters#
- blob_storage_container_name
Name of the storage container.
- blob_service_client
The blob service client to use when looking for and potentially creating the storage container.
Returns#
- None
None on success.
- upload_to_storage_container(file_paths: str | list[str], blob_storage_container_name: str, blob_service_client: azure.storage.blob.BlobServiceClient, local_root_dir: str = '.', remote_root_dir: str = '.') None #
Upload a file or list of files to an Azure blob storage container. This function preserves relative directory structure among the uploaded files within the storage container.
Parameters#
- file_paths
File or list of files to upload, as string paths relative to
local_upload_dir
. A single string will be coerced to a length-one list.- blob_storage_container_name
Name of the blob storage container to which to upload the files. Must already exist.
- blob_service_client
BlobServiceClient
to use when uploading.- local_root_dir
Root directory for the relative file paths in local storage. Default
"."
(use the local working directory).- remote_root_dir
Root directory for the relative file paths within the blob storage container. Default
"."
(start at the blob storage container root).
Returns#
- None
None on success.
Raises#
Error if the blob storage container does not exist.
- download_from_storage_container(file_paths: list[str], blob_storage_container_name: str, blob_service_client: azure.storage.blob.BlobServiceClient = None, local_root_dir: str = '.', remote_root_dir: str = '.', **kwargs) None #
Download a list of files from an Azure blob storage container. Preserves relative directory structure.
Parameters#
- file_paths
File or list of files to upload, as string paths relative to
local_upload_dir
. A single string will be coerced to a length-one list.- blob_storage_container_name
Name of the blob storage container from which to download the files. Must already exist.
- blob_service_client
BlobServiceClient
to use when downloading. IfNone
, attempt to create one viaclient.get_blob_service_client()
using provided**kwargs
, if any. DefaultNone
.- local_root_dir
Root directory for the relative file paths in local storage. Default
"."
(use the local working directory).- remote_root_dir
Root directory for the relative file paths within the blob storage container. Default
"."
(start at the blob storage container root).- **kwargs
Keyword arguments passed to
get_blob_service_client()
.
Returns#
- None
None on success.
Raises#
Error if the blob storage container does not exist.
- get_node_mount_config(storage_containers: str | list[str], account_names: str | list[str], identity_references: azure.batch.models.ComputeNodeIdentityReference | list[azure.batch.models.ComputeNodeIdentityReference], shared_relative_mount_path: str = '', mount_names: list[str] = None, blobfuse_options: str | list[str] = None, **kwargs) azure.batch.models.MountConfiguration #
Get configuration for mounting Azure Blob Storage containers to Azure Batch nodes via blobfuse.
Parameters#
- storage_containers
Name(s) of the Azure Blob storage container(s) to mount.
- account_names
Name(s) of the Azure Blob storage account(s) in which to look for the storage container(s). If a single value, look for all storage containers within the same storage account. Otherwise, look for each container within the corresponding account. The function will raise an error if there is more than one
account_names
value but a different number ofstorage_containers
, as then the mapping is ambiguous.- identity_references
Valid
models.ComputeNodeIdentityReference
objects for the node to use when connecting to thestorage_containers
, or an iterable of such objects with one object for each of thestorage_containers
.- shared_relative_mount_path
Path relative to the
fsmounts
directory within the running node at which to mount the storage containers. Default “”, i.e. mount withinfsmounts
itself.- mount_names
Iterable of names (or paths) for the individual mounted storage containers relative to the
shared_relative_mount_path
. IfNone
, use the storage container names given instorage_containers
as themount_names
.- blobfuse_options
Additional options passed to blobfuse. Default
None
.- **kwargs
Additional keyword arguments passed to the
models.AzureBlobFileSystemConfiguration
constructor.
Returns#
- list[models.MountConfiguration]
A list of instantiated
models.MountConfiguration
objects describing the desired storage container mounts.