azure.storage.filedatalake.aio package¶
-
class
azure.storage.filedatalake.aio.
DataLakeServiceClient
(account_url, credential=None, **kwargs)[source]¶ A client to interact with the DataLake Service at the account level.
This client provides operations to retrieve and configure the account properties as well as list, create and delete file systems within the account. For operations relating to a specific file system, directory or file, clients for those entities can also be retrieved using the get_client functions.
- Variables
url (str) – The full endpoint URL to the datalake service endpoint.
primary_endpoint (str) – The full primary endpoint URL.
primary_hostname (str) – The hostname of the primary endpoint.
- Parameters
account_url (str) – The URL to the DataLake storage account. Any other entities included in the URL path (e.g. file system or file) will be discarded. This URL can be optionally authenticated with a SAS token.
credential – The credentials with which to authenticate. This is optional if the account URL already has a SAS token. The value can be a SAS token string, and account shared access key, or an instance of a TokenCredentials class from azure.identity. If the URL already has a SAS token, specifying an explicit credential will take priority.
Example:
from azure.storage.filedatalake.aio import DataLakeServiceClient datalake_service_client = DataLakeServiceClient.from_connection_string(connection_string)
from azure.identity.aio import ClientSecretCredential token_credential = ClientSecretCredential( active_directory_tenant_id, active_directory_application_id, active_directory_application_secret, ) datalake_service_client = DataLakeServiceClient("https://{}.dfs.core.windows.net".format(account_name), credential=token_credential)
-
async
close
()[source]¶ This method is to close the sockets opened by the client. It need not be used when using with a context manager.
-
async
create_file_system
(file_system, metadata=None, public_access=None, **kwargs)[source]¶ Creates a new file system under the specified account.
If the file system with the same name already exists, a ResourceExistsError will be raised. This method returns a client with which to interact with the newly created file system.
- Parameters
file_system (str) – The name of the file system to create.
metadata (dict(str, str)) – A dict with name-value pairs to associate with the file system as metadata. Example: {‘Category’:’test’}
public_access (PublicAccess) – Possible values include: file system, file.
- Keyword Arguments
timeout (int) – The timeout parameter is expressed in seconds.
- Return type
Example:
await datalake_service_client.create_file_system("filesystem")
-
async
delete_file_system
(file_system, **kwargs)[source]¶ Marks the specified file system for deletion.
The file system and any files contained within it are later deleted during garbage collection. If the file system is not found, a ResourceNotFoundError will be raised.
- Parameters
file_system (str or FileSystemProperties) – The file system to delete. This can either be the name of the file system, or an instance of FileSystemProperties.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, delete_file_system only succeeds if the file system’s lease is active and matches this ID. Required if the file system has an active lease.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Return type
Example:
await datalake_service_client.delete_file_system("filesystem")
-
classmethod
from_connection_string
(conn_str, credential=None, **kwargs)[source]¶ Create DataLakeServiceClient from a Connection String.
- Parameters
conn_str (str) – A connection string to an Azure Storage account.
credential – The credentials with which to authenticate. This is optional if the account URL already has a SAS token, or the connection string already has shared access key values. The value can be a SAS token string, and account shared access key, or an instance of a TokenCredentials class from azure.identity. Credentials provided here will take precedence over those in the connection string.
:return a DataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient
Example:
from azure.storage.filedatalake import DataLakeServiceClient datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)
-
get_directory_client
(file_system, directory)[source]¶ Get a client to interact with the specified directory.
The directory need not already exist.
- Parameters
file_system (str or FileSystemProperties) – The file system that the directory is in. This can either be the name of the file system, or an instance of FileSystemProperties.
directory (str or DirectoryProperties) – The directory with which to interact. This can either be the name of the directory, or an instance of DirectoryProperties.
- Returns
A DataLakeDirectoryClient.
- Return type
Example:
directory_client = datalake_service_client.get_directory_client(file_system_client.file_system_name, "mydirectory")
-
get_file_client
(file_system, file_path)[source]¶ Get a client to interact with the specified file.
The file need not already exist.
- Parameters
file_system (str or FileSystemProperties) – The file system that the file is in. This can either be the name of the file system, or an instance of FileSystemProperties.
file_path (str or FileProperties) – The file with which to interact. This can either be the full path of the file(from the root directory), or an instance of FileProperties. eg. directory/subdirectory/file
- Returns
A DataLakeFileClient.
- Return type
Example:
file_client = datalake_service_client.get_file_client(file_system_client.file_system_name, "myfile")
-
get_file_system_client
(file_system)[source]¶ Get a client to interact with the specified file system.
The file system need not already exist.
- Parameters
file_system (str or FileSystemProperties) – The file system. This can either be the name of the file system, or an instance of FileSystemProperties.
- Returns
A FileSystemClient.
- Return type
Example:
# Instantiate a DataLakeServiceClient using a connection string from azure.storage.filedatalake.aio import DataLakeServiceClient datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string) async with datalake_service_client: # Instantiate a FileSystemClient file_system_client = datalake_service_client.get_file_system_client("mynewfilesystems")
-
async
get_user_delegation_key
(key_start_time, key_expiry_time, **kwargs)[source]¶ Obtain a user delegation key for the purpose of signing SAS tokens. A token credential must be present on the service object for this request to succeed.
- Parameters
- Keyword Arguments
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
The user delegation key.
- Return type
Example:
from datetime import datetime, timedelta user_delegation_key = await datalake_service_client.get_user_delegation_key(datetime.utcnow(), datetime.utcnow() + timedelta(hours=1))
-
list_file_systems
(name_starts_with=None, include_metadata=None, **kwargs)[source]¶ Returns a generator to list the file systems under the specified account.
The generator will lazily follow the continuation tokens returned by the service and stop when all file systems have been returned.
- Parameters
- Keyword Arguments
- Returns
An iterable (auto-paging) of FileSystemProperties.
- Return type
Example:
file_systems = datalake_service_client.list_file_systems() async for file_system in file_systems: print(file_system.name)
-
property
location_mode
¶ The location mode that the client is currently using.
By default this will be “primary”. Options include “primary” and “secondary”.
- Type
-
property
secondary_endpoint
¶ The full secondary endpoint URL if configured.
If not available a ValueError will be raised. To explicitly specify a secondary hostname, use the optional secondary_hostname keyword argument on instantiation.
- Type
- Raises
-
property
secondary_hostname
¶ The hostname of the secondary endpoint.
If not available this will be None. To explicitly specify a secondary hostname, use the optional secondary_hostname keyword argument on instantiation.
-
property
url
¶ The full endpoint URL to this entity, including SAS token if used.
This could be either the primary endpoint, or the secondary endpoint depending on the current
location_mode()
.
-
class
azure.storage.filedatalake.aio.
FileSystemClient
(account_url, file_system_name, credential=None, **kwargs)[source]¶ - A client to interact with a specific file system, even if that file system
may not yet exist.
For operations relating to a specific directory or file within this file system, a directory client or file client can be retrieved using the
get_directory_client()
orget_file_client()
functions.- ivar str url
The full endpoint URL to the file system, including SAS token if used.
- ivar str primary_endpoint
The full primary endpoint URL.
- ivar str primary_hostname
The hostname of the primary endpoint.
- param str account_url
The URI to the storage account.
- param file_system_name
The file system for the directory or files.
- type file_system_name
str
- param credential
The credentials with which to authenticate. This is optional if the account URL already has a SAS token. The value can be a SAS token string, and account shared access key, or an instance of a TokenCredentials class from azure.identity. If the URL already has a SAS token, specifying an explicit credential will take priority.
Example:
# Instantiate a DataLakeServiceClient using a connection string from azure.storage.filedatalake.aio import DataLakeServiceClient datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string) async with datalake_service_client: # Instantiate a FileSystemClient file_system_client = datalake_service_client.get_file_system_client("mynewfilesystems")
-
async
acquire_lease
(lease_duration=-1, lease_id=None, **kwargs)[source]¶ Requests a new lease. If the file system does not have an active lease, the DataLake service creates a lease on the file system and returns a new lease ID.
- Parameters
lease_duration (int) – Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. Default is -1 (infinite lease).
lease_id (str) – Proposed lease ID, in a GUID string format. The DataLake service returns 400 (Invalid request) if the proposed lease ID is not in the correct format.
- Keyword Arguments
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
A DataLakeLeaseClient object, that can be run in a context manager.
- Return type
Example:
# Acquire a lease on the file system lease = await file_system_client.acquire_lease() # Delete file system by passing in the lease await file_system_client.delete_file_system(lease=lease)
-
async
close
()[source]¶ This method is to close the sockets opened by the client. It need not be used when using with a context manager.
-
async
create_directory
(directory, metadata=None, **kwargs)[source]¶ Create directory
- Parameters
directory (str or DirectoryProperties) – The directory with which to interact. This can either be the name of the directory, or an instance of DirectoryProperties.
metadata (dict(str, str)) – Name-value pairs associated with the file as metadata.
- Keyword Arguments
content_settings (ContentSettings) – ContentSettings object used to set path properties.
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
DataLakeDirectoryClient
Example:
directory_client = await file_system_client.create_directory("mydirectory")
-
async
create_file
(file, **kwargs)[source]¶ Create file
- Parameters
file (str or FileProperties) – The file with which to interact. This can either be the name of the file, or an instance of FileProperties.
content_settings (ContentSettings) – ContentSettings object used to set path properties.
metadata (dict(str, str)) – Name-value pairs associated with the file as metadata.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
DataLakeFileClient
Example:
file_client = await file_system_client.create_file("myfile")
-
async
create_file_system
(metadata=None, public_access=None, **kwargs)[source]¶ Creates a new file system under the specified account.
If the file system with the same name already exists, a ResourceExistsError will be raised. This method returns a client with which to interact with the newly created file system.
- Parameters
metadata (dict(str, str)) – A dict with name-value pairs to associate with the file system as metadata. Example: {‘Category’:’test’}
public_access (PublicAccess) – To specify whether data in the file system may be accessed publicly and the level of access.
- Keyword Arguments
timeout (int) – The timeout parameter is expressed in seconds.
- Return type
Example:
await file_system_client.create_file_system()
-
async
delete_directory
(directory, **kwargs)[source]¶ Marks the specified path for deletion.
- Parameters
directory (str or DirectoryProperties) – The directory with which to interact. This can either be the name of the directory, or an instance of DirectoryProperties.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
DataLakeDirectoryClient
Example:
await file_system_client.delete_directory("mydirectory")
-
async
delete_file
(file, **kwargs)[source]¶ Marks the specified file for deletion.
- Parameters
file (str or FileProperties) – The file with which to interact. This can either be the name of the file, or an instance of FileProperties.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
DataLakeFileClient
await file_system_client.delete_file("myfile")
-
async
delete_file_system
(**kwargs)[source]¶ Marks the specified file system for deletion.
The file system and any files contained within it are later deleted during garbage collection. If the file system is not found, a ResourceNotFoundError will be raised.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, delete_file_system only succeeds if the file system’s lease is active and matches this ID. Required if the file system has an active lease.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Return type
Example:
await file_system_client.delete_file_system()
-
classmethod
from_connection_string
(conn_str, file_system_name, credential=None, **kwargs)[source]¶ Create FileSystemClient from a Connection String.
- Parameters
conn_str (str) – A connection string to an Azure Storage account.
file_system_name (str) – The name of file system to interact with.
credential – The credentials with which to authenticate. This is optional if the account URL already has a SAS token, or the connection string already has shared access key values. The value can be a SAS token string, and account shared access key, or an instance of a TokenCredentials class from azure.identity. Credentials provided here will take precedence over those in the connection string.
:return a FileSystemClient :rtype ~azure.storage.filedatalake.FileSystemClient
Example:
from azure.storage.filedatalake import FileSystemClient file_system_client = FileSystemClient.from_connection_string(self.connection_string, "filesystem")
-
get_directory_client
(directory)[source]¶ Get a client to interact with the specified directory.
The directory need not already exist.
- Parameters
directory (str or DirectoryProperties) – The directory with which to interact. This can either be the name of the directory, or an instance of DirectoryProperties.
- Returns
A DataLakeDirectoryClient.
- Return type
Example:
# Get the DataLakeDirectoryClient from the FileSystemClient to interact with a specific file directory_client = file_system_client.get_directory_client("mynewdirectory")
-
get_file_client
(file_path)[source]¶ Get a client to interact with the specified file.
The file need not already exist.
- Parameters
file_path (str or FileProperties) – The file with which to interact. This can either be the path of the file(from root directory), or an instance of FileProperties. eg. directory/subdirectory/file
- Returns
A DataLakeFileClient.
- Return type
Example:
# Get the FileClient from the FileSystemClient to interact with a specific file file_client = file_system_client.get_file_client("mynewfile")
-
async
get_file_system_access_policy
(**kwargs)[source]¶ Gets the permissions for the specified file system. The permissions indicate whether file system data may be accessed publicly.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, get_file_system_access_policy only succeeds if the file system’s lease is active and matches this ID.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
Access policy information in a dict.
- Return type
-
async
get_file_system_properties
(**kwargs)[source]¶ Returns all user-defined metadata and system properties for the specified file system. The data returned does not include the file system’s list of paths.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, get_file_system_properties only succeeds if the file system’s lease is active and matches this ID.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
Properties for the specified file system within a file system object.
- Return type
Example:
properties = await file_system_client.get_file_system_properties()
-
get_paths
(path=None, recursive=True, max_results=None, **kwargs)[source]¶ Returns a generator to list the paths(could be files or directories) under the specified file system. The generator will lazily follow the continuation tokens returned by the service.
- Parameters
- Keyword Arguments
upn – Optional. Valid only when Hierarchical Namespace is enabled for the account. If “true”, the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If “false”, the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
An iterable (auto-paging) response of PathProperties.
- Return type
Example:
path_list = file_system_client.get_paths() async for path in path_list: print(path.name + '\n')
-
async
set_file_system_access_policy
(signed_identifiers, public_access=None, **kwargs)[source]¶ Sets the permissions for the specified file system or stored access policies that may be used with Shared Access Signatures. The permissions indicate whether files in a file system may be accessed publicly.
- Parameters
signed_identifiers (dict[str, AccessPolicy]) – A dictionary of access policies to associate with the file system. The dictionary may contain up to 5 elements. An empty dictionary will clear the access policies set on the service.
public_access (PublicAccess) – To specify whether data in the file system may be accessed publicly and the level of access.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file system has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A datetime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified date/time.
if_unmodified_since (datetime) – A datetime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
filesystem-updated property dict (Etag and last modified).
- Return type
-
async
set_file_system_metadata
(metadata, **kwargs)[source]¶ Sets one or more user-defined name-value pairs for the specified file system. Each call to this operation replaces all existing metadata attached to the file system. To remove all metadata from the file system, call this operation with no metadata dict.
- Parameters
metadata (dict[str, str]) – A dict containing name-value pairs to associate with the file system as metadata. Example: {‘category’:’test’}
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, set_file_system_metadata only succeeds if the file system’s lease is active and matches this ID.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
file system-updated property dict (Etag and last modified).
Example:
# Create key, value pairs for metadata metadata = {'type': 'test'} # Set metadata on the file system await file_system_client.set_file_system_metadata(metadata=metadata)
-
property
location_mode
¶ The location mode that the client is currently using.
By default this will be “primary”. Options include “primary” and “secondary”.
- Type
-
property
secondary_endpoint
¶ The full secondary endpoint URL if configured.
If not available a ValueError will be raised. To explicitly specify a secondary hostname, use the optional secondary_hostname keyword argument on instantiation.
- Type
- Raises
-
property
secondary_hostname
¶ The hostname of the secondary endpoint.
If not available this will be None. To explicitly specify a secondary hostname, use the optional secondary_hostname keyword argument on instantiation.
-
property
url
¶ The full endpoint URL to this entity, including SAS token if used.
This could be either the primary endpoint, or the secondary endpoint depending on the current
location_mode()
.
-
class
azure.storage.filedatalake.aio.
DataLakeDirectoryClient
(account_url, file_system_name, directory_name, credential=None, **kwargs)[source]¶ A client to interact with the DataLake directory, even if the directory may not yet exist.
For operations relating to a specific subdirectory or file under the directory, a directory client or file client can be retrieved using the
get_sub_directory_client()
orget_file_client()
functions.- Variables
url (str) – The full endpoint URL to the file system, including SAS token if used.
primary_endpoint (str) – The full primary endpoint URL.
primary_hostname (str) – The hostname of the primary endpoint.
- Parameters
account_url (str) – The URI to the storage account.
file_system_name (str) – The file system for the directory or files.
directory_name (str) – The whole path of the directory. eg. {directory under file system}/{directory to interact with}
credential – The credentials with which to authenticate. This is optional if the account URL already has a SAS token. The value can be a SAS token string, and account shared access key, or an instance of a TokenCredentials class from azure.identity. If the URL already has a SAS token, specifying an explicit credential will take priority.
Example:
from azure.storage.filedatalake.aio import DataLakeDirectoryClient DataLakeDirectoryClient.from_connection_string(connection_string, "myfilesystem", "mydirectory")
-
async
acquire_lease
(lease_duration=-1, lease_id=None, **kwargs)¶ Requests a new lease. If the file or directory does not have an active lease, the DataLake service creates a lease on the file/directory and returns a new lease ID.
- Parameters
lease_duration (int) – Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. Default is -1 (infinite lease).
lease_id (str) – Proposed lease ID, in a GUID string format. The DataLake service returns 400 (Invalid request) if the proposed lease ID is not in the correct format.
- Keyword Arguments
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
A DataLakeLeaseClient object, that can be run in a context manager.
- Return type
Example:
-
async
close
()¶ This method is to close the sockets opened by the client. It need not be used when using with a context manager.
-
async
create_directory
(metadata=None, **kwargs)[source]¶ Create a new directory.
- Parameters
metadata (dict(str, str)) – Name-value pairs associated with the directory as metadata.
- Keyword Arguments
content_settings (ContentSettings) – ContentSettings object used to set path properties.
lease (DataLakeLeaseClient or str) – Required if the directory has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
response dict (Etag and last modified).
Example:
await directory_client.create_directory()
-
async
create_file
(file, **kwargs)[source]¶ Create a new file and return the file client to be interacted with.
- Parameters
file (str or FileProperties) – The file with which to interact. This can either be the name of the file, or an instance of FileProperties.
- Keyword Arguments
content_settings (ContentSettings) – ContentSettings object used to set path properties.
metadata – Name-value pairs associated with the file as metadata.
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
DataLakeFileClient
-
async
create_sub_directory
(sub_directory, metadata=None, **kwargs)[source]¶ Create a subdirectory and return the subdirectory client to be interacted with.
- Parameters
sub_directory (str or DirectoryProperties) – The directory with which to interact. This can either be the name of the directory, or an instance of DirectoryProperties.
metadata (dict(str, str)) – Name-value pairs associated with the file as metadata.
- Keyword Arguments
content_settings (ContentSettings) – ContentSettings object used to set path properties.
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
DataLakeDirectoryClient for the subdirectory.
-
async
delete_directory
(**kwargs)[source]¶ Marks the specified directory for deletion.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the directory has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
None
Example:
await new_directory.delete_directory()
-
async
delete_sub_directory
(sub_directory, **kwargs)[source]¶ Marks the specified subdirectory for deletion.
- Parameters
sub_directory (str or DirectoryProperties) – The directory with which to interact. This can either be the name of the directory, or an instance of DirectoryProperties.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the directory has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
DataLakeDirectoryClient for the subdirectory
-
classmethod
from_connection_string
(conn_str, file_system_name, directory_name, credential=None, **kwargs)[source]¶ Create DataLakeDirectoryClient from a Connection String.
- Parameters
conn_str (str) – A connection string to an Azure Storage account.
file_system_name (str) – The name of file system to interact with.
directory_name (str) – The name of directory to interact with. The directory is under file system.
credential – The credentials with which to authenticate. This is optional if the account URL already has a SAS token, or the connection string already has shared access key values. The value can be a SAS token string, and account shared access key, or an instance of a TokenCredentials class from azure.identity. Credentials provided here will take precedence over those in the connection string.
:return a DataLakeDirectoryClient :rtype ~azure.storage.filedatalake.DataLakeDirectoryClient
-
async
get_access_control
(upn=None, **kwargs)¶ Get the owner, group, permissions, or access control list for a path.
- Parameters
upn (bool) – Optional. Valid only when Hierarchical Namespace is enabled for the account. If “true”, the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If “false”, the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file/directory has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Keyword
response dict.
-
async
get_directory_properties
(**kwargs)[source]¶ Returns all user-defined metadata, standard HTTP properties, and system properties for the directory. It does not return the content of the directory.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the directory or file has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Return type
Example:
props = await new_directory.get_directory_properties()
-
get_file_client
(file)[source]¶ Get a client to interact with the specified file.
The file need not already exist.
- Parameters
file (str or FileProperties) – The file with which to interact. This can either be the name of the file, or an instance of FileProperties. eg. directory/subdirectory/file
- Returns
A DataLakeFileClient.
- Return type
Example:
-
get_sub_directory_client
(sub_directory)[source]¶ Get a client to interact with the specified subdirectory of the current directory.
The sub subdirectory need not already exist.
- Parameters
sub_directory (str or DirectoryProperties) – The directory with which to interact. This can either be the name of the directory, or an instance of DirectoryProperties.
- Returns
A DataLakeDirectoryClient.
- Return type
Example:
-
async
rename_directory
(new_name, **kwargs)[source]¶ Rename the source directory.
- Parameters
new_name (str) – the new directory name the user want to rename to. The value must have the following format: “{filesystem}/{directory}/{subdirectory}”.
- Keyword Arguments
source_lease (DataLakeLeaseClient or str) – A lease ID for the source path. If specified, the source path must have an active lease and the leaase ID must match.
content_settings (ContentSettings) – ContentSettings object used to set path properties.
lease (DataLakeLeaseClient or str) – Required if the file/directory has an active lease. Value can be a LeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
source_if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
source_if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
source_etag (str) – The source ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
source_match_condition (MatchConditions) – The source match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
DataLakeDirectoryClient
Example:
new_dir_name = "testdir2" print("Renaming the directory named '{}' to '{}'.".format(dir_name, new_dir_name)) new_directory = await directory_client\ .rename_directory(new_name=directory_client.file_system_name + '/' + new_dir_name)
-
async
set_access_control
(owner=None, group=None, permissions=None, acl=None, **kwargs)¶ Set the owner, group, permissions, or access control list for a path.
- Parameters
owner (str) – Optional. The owner of the file or directory.
group (str) – Optional. The owning group of the file or directory.
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. permissions and acl are mutually exclusive.
acl (str) – Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format “[scope:][type]:[id]:[permissions]”. permissions and acl are mutually exclusive.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file/directory has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Keyword
response dict (Etag and last modified).
-
async
set_http_headers
(content_settings=None, **kwargs)¶ Sets system properties on the file or directory.
If one property is set for the content_settings, all properties will be overriden.
- Parameters
content_settings (ContentSettings) – ContentSettings object used to set file/directory properties.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, set_file_system_metadata only succeeds if the file system’s lease is active and matches this ID.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
file/directory-updated property dict (Etag and last modified)
- Return type
Dict[str, Any]
-
async
set_metadata
(metadata, **kwargs)¶ Sets one or more user-defined name-value pairs for the specified file system. Each call to this operation replaces all existing metadata attached to the file system. To remove all metadata from the file system, call this operation with no metadata dict.
- Parameters
metadata (dict[str, str]) – A dict containing name-value pairs to associate with the file system as metadata. Example: {‘category’:’test’}
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, set_file_system_metadata only succeeds if the file system’s lease is active and matches this ID.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
file system-updated property dict (Etag and last modified).
-
property
location_mode
¶ The location mode that the client is currently using.
By default this will be “primary”. Options include “primary” and “secondary”.
- Type
-
property
secondary_endpoint
¶ The full secondary endpoint URL if configured.
If not available a ValueError will be raised. To explicitly specify a secondary hostname, use the optional secondary_hostname keyword argument on instantiation.
- Type
- Raises
-
property
secondary_hostname
¶ The hostname of the secondary endpoint.
If not available this will be None. To explicitly specify a secondary hostname, use the optional secondary_hostname keyword argument on instantiation.
-
property
url
¶ The full endpoint URL to this entity, including SAS token if used.
This could be either the primary endpoint, or the secondary endpoint depending on the current
location_mode()
.
-
class
azure.storage.filedatalake.aio.
DataLakeFileClient
(account_url, file_system_name, file_path, credential=None, **kwargs)[source]¶ A client to interact with the DataLake file, even if the file may not yet exist.
- Variables
url (str) – The full endpoint URL to the file system, including SAS token if used.
primary_endpoint (str) – The full primary endpoint URL.
primary_hostname (str) – The hostname of the primary endpoint.
- Parameters
account_url (str) – The URI to the storage account.
file_system_name (str) – The file system for the directory or files.
file_path (str) – The whole file path, so that to interact with a specific file. eg. “{directory}/{subdirectory}/{file}”
credential – The credentials with which to authenticate. This is optional if the account URL already has a SAS token. The value can be a SAS token string, and account shared access key, or an instance of a TokenCredentials class from azure.identity. If the URL already has a SAS token, specifying an explicit credential will take priority.
Example:
from azure.storage.filedatalake.aio import DataLakeFileClient DataLakeFileClient.from_connection_string(connection_string, "myfilesystem", "mydirectory", "myfile")
-
async
acquire_lease
(lease_duration=-1, lease_id=None, **kwargs)¶ Requests a new lease. If the file or directory does not have an active lease, the DataLake service creates a lease on the file/directory and returns a new lease ID.
- Parameters
lease_duration (int) – Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. Default is -1 (infinite lease).
lease_id (str) – Proposed lease ID, in a GUID string format. The DataLake service returns 400 (Invalid request) if the proposed lease ID is not in the correct format.
- Keyword Arguments
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
A DataLakeLeaseClient object, that can be run in a context manager.
- Return type
Example:
-
async
append_data
(data, offset, length=None, **kwargs)[source]¶ Append data to the file.
- Parameters
data – Content to be appended to file
offset – start position of the data to be appended to.
length – Size of the data in bytes.
- Keyword Arguments
validate_content (bool) – If true, calculates an MD5 hash of the block content. The storage service checks the hash of the content that has arrived with the hash that was sent. This is primarily valuable for detecting bitflips on the wire if using http instead of https as https (the default) will already validate. Note that this MD5 hash is not stored with the file.
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a LeaseClient object or the lease ID as a string.
- Returns
dict of the response header
Example:
await file_client.append_data(data=file_content[2048:3072], offset=2048, length=1024)
-
async
close
()¶ This method is to close the sockets opened by the client. It need not be used when using with a context manager.
-
async
create_file
(content_settings=None, metadata=None, **kwargs)[source]¶ Create a new file.
- Parameters
content_settings (ContentSettings) – ContentSettings object used to set path properties.
metadata (dict(str, str)) – Name-value pairs associated with the file as metadata.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
response dict (Etag and last modified).
Example:
file_client = filesystem_client.get_file_client(file_name) await file_client.create_file()
-
async
delete_file
(**kwargs)[source]¶ Marks the specified file for deletion.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
None
Example:
await new_client.delete_file()
-
async
download_file
(offset=None, length=None, **kwargs)[source]¶ Downloads a file to the StorageStreamDownloader. The readall() method must be used to read all the content, or readinto() must be used to download the file into a stream.
- Parameters
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, download only succeeds if the file’s lease is active and matches this ID. Required if the file has an active lease.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
max_concurrency (int) – The number of parallel connections with which to download.
timeout (int) – The timeout parameter is expressed in seconds. This method may make multiple calls to the Azure service and the timeout will apply to each call individually.
- Returns
A streaming object (StorageStreamDownloader)
- Return type
Example:
download = await file_client.download_file() downloaded_bytes = await download.readall()
-
async
flush_data
(offset, retain_uncommitted_data=False, **kwargs)[source]¶ Commit the previous appended data.
- Parameters
offset – offset is equal to the length of the file after commit the previous appended data.
retain_uncommitted_data (bool) – Valid only for flush operations. If “true”, uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.
- Keyword Arguments
content_settings (ContentSettings) – ContentSettings object used to set path properties.
close (bool) – Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is “flush” and change notifications are enabled. If the value of close is “true” and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If “false” a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.”
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
- Returns
response header in dict
Example:
file_client = file_system_client.get_file_client("myfile") await file_client.create_file() with open(SOURCE_FILE, "rb") as data: length = data.tell() await file_client.append_data(data, 0) await file_client.flush_data(length)
-
classmethod
from_connection_string
(conn_str, file_system_name, file_path, credential=None, **kwargs)[source]¶ Create DataLakeFileClient from a Connection String.
- Parameters
conn_str (str) – A connection string to an Azure Storage account.
file_system_name (str) – The name of file system to interact with.
directory_name (str) – The name of directory to interact with. The directory is under file system.
file_name (str) – The name of file to interact with. The file is under directory.
credential – The credentials with which to authenticate. This is optional if the account URL already has a SAS token, or the connection string already has shared access key values. The value can be a SAS token string, and account shared access key, or an instance of a TokenCredentials class from azure.identity. Credentials provided here will take precedence over those in the connection string.
:return a DataLakeFileClient :rtype ~azure.storage.filedatalake.DataLakeFileClient
-
async
get_access_control
(upn=None, **kwargs)¶ Get the owner, group, permissions, or access control list for a path.
- Parameters
upn (bool) – Optional. Valid only when Hierarchical Namespace is enabled for the account. If “true”, the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If “false”, the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file/directory has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Keyword
response dict.
-
async
get_file_properties
(**kwargs)[source]¶ Returns all user-defined metadata, standard HTTP properties, and system properties for the file. It does not return the content of the file.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the directory or file has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Return type
FileProperties
Example:
properties = await file_client.get_file_properties()
-
async
rename_file
(new_name, **kwargs)[source]¶ Rename the source file.
- Parameters
new_name (str) – the new file name the user want to rename to. The value must have the following format: “{filesystem}/{directory}/{subdirectory}/{file}”.
- Keyword Arguments
source_lease (DataLakeLeaseClient or str) – A lease ID for the source path. If specified, the source path must have an active lease and the leaase ID must match.
content_settings (ContentSettings) – ContentSettings object used to set path properties.
lease (DataLakeLeaseClient or str) – Required if the file/directory has an active lease. Value can be a LeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
source_if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
source_if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
source_etag (str) – The source ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
source_match_condition (MatchConditions) – The source match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
the renamed file client
- Return type
Example:
new_client = await file_client.rename_file(file_client.file_system_name + '/' + 'newname')
-
async
set_access_control
(owner=None, group=None, permissions=None, acl=None, **kwargs)¶ Set the owner, group, permissions, or access control list for a path.
- Parameters
owner (str) – Optional. The owner of the file or directory.
group (str) – Optional. The owning group of the file or directory.
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. permissions and acl are mutually exclusive.
acl (str) – Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format “[scope:][type]:[id]:[permissions]”. permissions and acl are mutually exclusive.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – Required if the file/directory has an active lease. Value can be a LeaseClient object or the lease ID as a string.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Keyword
response dict (Etag and last modified).
-
async
set_http_headers
(content_settings=None, **kwargs)¶ Sets system properties on the file or directory.
If one property is set for the content_settings, all properties will be overriden.
- Parameters
content_settings (ContentSettings) – ContentSettings object used to set file/directory properties.
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, set_file_system_metadata only succeeds if the file system’s lease is active and matches this ID.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
file/directory-updated property dict (Etag and last modified)
- Return type
Dict[str, Any]
-
async
set_metadata
(metadata, **kwargs)¶ Sets one or more user-defined name-value pairs for the specified file system. Each call to this operation replaces all existing metadata attached to the file system. To remove all metadata from the file system, call this operation with no metadata dict.
- Parameters
metadata (dict[str, str]) – A dict containing name-value pairs to associate with the file system as metadata. Example: {‘category’:’test’}
- Keyword Arguments
lease (DataLakeLeaseClient or str) – If specified, set_file_system_metadata only succeeds if the file system’s lease is active and matches this ID.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
file system-updated property dict (Etag and last modified).
-
async
upload_data
(data, length=None, overwrite=False, **kwargs)[source]¶ Upload data to a file.
- Parameters
- Keyword Arguments
content_settings (ContentSettings) – ContentSettings object used to set path properties.
metadata (dict(str, str)) – Name-value pairs associated with the blob as metadata.
or str lease (DataLakeLeaseClient) – Required if the blob has an active lease. Value can be a DataLakeLeaseClient object or the lease ID as a string.
umask (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).
permissions (str) – Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
response dict (Etag and last modified).
-
property
location_mode
¶ The location mode that the client is currently using.
By default this will be “primary”. Options include “primary” and “secondary”.
- Type
-
property
secondary_endpoint
¶ The full secondary endpoint URL if configured.
If not available a ValueError will be raised. To explicitly specify a secondary hostname, use the optional secondary_hostname keyword argument on instantiation.
- Type
- Raises
-
property
secondary_hostname
¶ The hostname of the secondary endpoint.
If not available this will be None. To explicitly specify a secondary hostname, use the optional secondary_hostname keyword argument on instantiation.
-
property
url
¶ The full endpoint URL to this entity, including SAS token if used.
This could be either the primary endpoint, or the secondary endpoint depending on the current
location_mode()
.
-
class
azure.storage.filedatalake.aio.
DataLakeLeaseClient
(client, lease_id=None)[source]¶ Creates a new DataLakeLeaseClient.
This client provides lease operations on a FileSystemClient, DataLakeDirectoryClient or DataLakeFileClient.
- Variables
id (str) – The ID of the lease currently being maintained. This will be None if no lease has yet been acquired.
etag (str) – The ETag of the lease currently being maintained. This will be None if no lease has yet been acquired or modified.
last_modified (datetime) – The last modified timestamp of the lease currently being maintained. This will be None if no lease has yet been acquired or modified.
- Parameters
client (FileSystemClient or DataLakeDirectoryClient or DataLakeFileClient) – The client of the file system, directory, or file to lease.
lease_id (str) – A string representing the lease ID of an existing lease. This value does not need to be specified in order to acquire a new lease, or break one.
-
async
acquire
(lease_duration=-1, **kwargs)[source]¶ Requests a new lease.
If the file/file system does not have an active lease, the DataLake service creates a lease on the file/file system and returns a new lease ID.
- Parameters
lease_duration (int) – Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change. Default is -1 (infinite lease).
- Keyword Arguments
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Return type
-
async
break_lease
(lease_break_period=None, **kwargs)[source]¶ Break the lease, if the file system or file has an active lease.
Once a lease is broken, it cannot be renewed. Any authorized request can break the lease; the request is not required to specify a matching lease ID. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file system or file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired.
- Parameters
lease_break_period (int) – This is the proposed duration of seconds that the lease should continue before it is broken, between 0 and 60 seconds. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately.
- Keyword Arguments
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
Approximate time remaining in the lease period, in seconds.
- Return type
-
async
change
(proposed_lease_id, **kwargs)[source]¶ Change the lease ID of an active lease.
- Parameters
proposed_lease_id (str) – Proposed lease ID, in a GUID string format. The DataLake service returns 400 (Invalid request) if the proposed lease ID is not in the correct format.
- Keyword Arguments
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
None
-
async
release
(**kwargs)[source]¶ Release the lease.
The lease may be released if the client lease id specified matches that associated with the file system or file. Releasing the lease allows another client to immediately acquire the lease for the file system or file as soon as the release is complete.
- Keyword Arguments
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
None
-
async
renew
(**kwargs)[source]¶ Renews the lease.
The lease can be renewed if the lease ID specified in the lease client matches that associated with the file system or file. Note that the lease may be renewed even if it has expired as long as the file system or file has not been leased again since the expiration of that lease. When you renew a lease, the lease duration clock resets.
- Keyword Arguments
if_modified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has been modified since the specified time.
if_unmodified_since (datetime) – A DateTime value. Azure expects the date value passed in to be UTC. If timezone is included, any non-UTC datetimes will be converted to UTC. If a date is passed in without timezone info, it is assumed to be UTC. Specify this header to perform the operation only if the resource has not been modified since the specified date/time.
etag (str) – An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
match_condition (MatchConditions) – The match condition to use upon the etag.
timeout (int) – The timeout parameter is expressed in seconds.
- Returns
None
-
class
azure.storage.filedatalake.aio.
ExponentialRetry
(initial_backoff=15, increment_base=3, retry_total=3, retry_to_secondary=False, random_jitter_range=3, **kwargs)[source]¶ Exponential retry.
Constructs an Exponential retry object. The initial_backoff is used for the first retry. Subsequent retries are retried after initial_backoff + increment_power^retry_count seconds. For example, by default the first retry occurs after 15 seconds, the second after (15+3^1) = 18 seconds, and the third after (15+3^2) = 24 seconds.
- Parameters
initial_backoff (int) – The initial backoff interval, in seconds, for the first retry.
increment_base (int) – The base, in seconds, to increment the initial_backoff by after the first retry.
max_attempts (int) – The maximum number of retry attempts.
retry_to_secondary (bool) – Whether the request should be retried to secondary, if able. This should only be enabled of RA-GRS accounts are used and potentially stale data can be handled.
random_jitter_range (int) – A number in seconds which indicates a range to jitter/randomize for the back-off interval. For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3.
-
configure_retries
(request)¶
-
increment
(settings, request, response=None, error=None)¶ Increment the retry counters.
- Parameters
response – A pipeline response object.
error – An error encountered during the request, or None if the response was received successfully.
- Returns
Whether the retry attempts are exhausted.
-
async
send
(request)¶ Abstract send method for a synchronous pipeline. Mutates the request.
Context content is dependent on the HttpTransport.
- Parameters
request (PipelineRequest) – The pipeline request object
- Returns
The pipeline response object.
- Return type
-
async
sleep
(settings, transport)¶
-
class
azure.storage.filedatalake.aio.
LinearRetry
(backoff=15, retry_total=3, retry_to_secondary=False, random_jitter_range=3, **kwargs)[source]¶ Linear retry.
Constructs a Linear retry object.
- Parameters
backoff (int) – The backoff interval, in seconds, between retries.
max_attempts (int) – The maximum number of retry attempts.
retry_to_secondary (bool) – Whether the request should be retried to secondary, if able. This should only be enabled of RA-GRS accounts are used and potentially stale data can be handled.
random_jitter_range (int) – A number in seconds which indicates a range to jitter/randomize for the back-off interval. For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3.
-
configure_retries
(request)¶
-
increment
(settings, request, response=None, error=None)¶ Increment the retry counters.
- Parameters
response – A pipeline response object.
error – An error encountered during the request, or None if the response was received successfully.
- Returns
Whether the retry attempts are exhausted.
-
async
send
(request)¶ Abstract send method for a synchronous pipeline. Mutates the request.
Context content is dependent on the HttpTransport.
- Parameters
request (PipelineRequest) – The pipeline request object
- Returns
The pipeline response object.
- Return type
-
async
sleep
(settings, transport)¶
-
class
azure.storage.filedatalake.aio.
StorageStreamDownloader
(downloader)[source]¶ A streaming object to download from Azure Storage.
- Variables
name (str) – The name of the file being downloaded.
properties (FileProperties) – The properties of the file being downloaded. If only a range of the data is being downloaded, this will be reflected in the properties.
size (int) – The size of the total data in the stream. This will be the byte range if speficied, otherwise the total size of the file.
-
async
readall
()[source]¶ Download the contents of this file.
This operation is blocking until all data is downloaded. :rtype: bytes or str
-
async
readinto
(stream)[source]¶ Download the contents of this file to a stream.
- Parameters
stream – The stream to download to. This can be an open file-handle, or any writable stream. The stream must be seekable if the download uses more than one parallel connection.
- Returns
The number of bytes read.
- Return type