Compartir a través de


DataLakeServiceClient Clase

Un cliente para interactuar con el servicio DataLake en el nivel de cuenta.

Este cliente proporciona operaciones para recuperar y configurar las propiedades de la cuenta, así como enumerar, crear y eliminar sistemas de archivos dentro de la cuenta. En el caso de las operaciones relacionadas con un sistema de archivos específico, directorio o archivo, los clientes de esas entidades también se pueden recuperar mediante las funciones de get_client .

Herencia
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixin
DataLakeServiceClient

Constructor

DataLakeServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)

Parámetros

account_url
str
Requerido

Dirección URL de la cuenta de almacenamiento de DataLake. Cualquier otra entidad incluida en la ruta de acceso url (por ejemplo, el sistema de archivos o el archivo) se descartará. Esta dirección URL se puede autenticar opcionalmente con un token de SAS.

credential
valor predeterminado: None

Credenciales con las que se va a autenticar. Esto es opcional si la dirección URL de la cuenta ya tiene un token de SAS. El valor puede ser una cadena de token de SAS, una instancia de AzureSasCredential o AzureNamedKeyCredential de azure.core.credentials, una clave de acceso compartido de cuenta o una instancia de una clase TokenCredentials de azure.identity. Si el URI del recurso ya contiene un token de SAS, se omitirá en favor de una credencial explícita.

  • excepto en el caso de AzureSasCredential, donde los tokens de SAS en conflicto generarán un valor ValueError. Si usa una instancia de AzureNamedKeyCredential, "name" debe ser el nombre de la cuenta de almacenamiento y "key" debe ser la clave de la cuenta de almacenamiento.
api_version
str

La versión de la API de Storage que se va a usar para las solicitudes. El valor predeterminado es la versión de servicio más reciente que es compatible con el SDK actual. Establecer en una versión anterior puede dar lugar a una reducción de la compatibilidad de características.

Ejemplos

Creación de DataLakeServiceClient a partir de la cadena de conexión.


   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

Creación de DataLakeServiceClient con credenciales de identidad de Azure.


   from azure.identity import ClientSecretCredential
   token_credential = ClientSecretCredential(
       self.active_directory_tenant_id,
       self.active_directory_application_id,
       self.active_directory_application_secret,
   )
   datalake_service_client = DataLakeServiceClient("https://{}.dfs.core.windows.net".format(self.account_name),
                                                   credential=token_credential)

Variables

url
str

Dirección URL completa del punto de conexión al punto de conexión del servicio datalake.

primary_endpoint
str

Dirección URL completa del punto de conexión principal.

primary_hostname
str

Nombre de host del punto de conexión principal.

Métodos

close

Este método es cerrar los sockets abiertos por el cliente. No es necesario usarse cuando se usa con un administrador de contexto.

create_file_system

Crea un nuevo sistema de archivos en la cuenta especificada.

Si el sistema de archivos con el mismo nombre ya existe, se generará un resourceExistsError. Este método devuelve un cliente con el que interactuar con el sistema de archivos recién creado.

delete_file_system

Marca el sistema de archivos especificado para su eliminación.

El sistema de archivos y los archivos contenidos en él se eliminan posteriormente durante la recolección de elementos no utilizados. Si no se encuentra el sistema de archivos, se generará un resourceNotFoundError.

from_connection_string

Cree DataLakeServiceClient a partir de una cadena de conexión.

:return a DataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient

get_directory_client

Obtenga un cliente para interactuar con el directorio especificado.

El directorio aún no debe existir.

get_file_client

Obtener un cliente para interactuar con el archivo especificado.

El archivo aún no existe.

get_file_system_client

Obtener un cliente para interactuar con el sistema de archivos especificado.

El sistema de archivos aún no debe existir.

get_service_properties

Obtiene las propiedades del servicio datalake de una cuenta de almacenamiento, incluido Azure Storage Analytics.

Novedad de la versión 12.4.0: esta operación se introdujo en la versión de API "2020-06-12".

get_user_delegation_key

Obtenga una clave de delegación de usuarios con el fin de firmar tokens de SAS. Una credencial de token debe estar presente en el objeto de servicio para que esta solicitud se realice correctamente.

list_file_systems

Devuelve un generador para enumerar los sistemas de archivos de la cuenta especificada.

El generador seguirá de forma diferida los tokens de continuación devueltos por el servicio y se detendrá cuando se devuelvan todos los sistemas de archivos.

set_service_properties

Establece las propiedades del servicio Datalake de una cuenta de almacenamiento, incluido Azure Storage Analytics.

Novedad de la versión 12.4.0: esta operación se introdujo en la versión de API "2020-06-12".

Si un elemento (por ejemplo, analytics_logging) se deja como None, se conserva la configuración existente en el servicio para esa funcionalidad.

undelete_file_system

Restaura el sistema de archivos eliminado temporalmente.

La operación solo se realizará correctamente si se usa dentro del número de días especificado establecido en la directiva de retención de eliminación.

Novedad de la versión 12.3.0: esta operación se introdujo en la versión de API "2019-12-12".

close

Este método es cerrar los sockets abiertos por el cliente. No es necesario usarse cuando se usa con un administrador de contexto.

close() -> None

create_file_system

Crea un nuevo sistema de archivos en la cuenta especificada.

Si el sistema de archivos con el mismo nombre ya existe, se generará un resourceExistsError. Este método devuelve un cliente con el que interactuar con el sistema de archivos recién creado.

create_file_system(file_system: FileSystemProperties | str, metadata: Dict[str, str] | None = None, public_access: PublicAccess | None = None, **kwargs) -> FileSystemClient

Parámetros

file_system
str
Requerido

Nombre del sistema de archivos que se va a crear.

metadata
dict(str, str)
Requerido

Un dict con pares nombre-valor que se van a asociar al sistema de archivos como metadatos. Ejemplo: {'Category':'test'}

public_access
PublicAccess
Requerido

Entre los valores posibles se incluyen: sistema de archivos, archivo.

encryption_scope_options
dict o EncryptionScopeOptions

Especifica el ámbito de cifrado predeterminado que se va a establecer en el sistema de archivos y usarlo para todas las escrituras futuras.

Novedad de la versión 12.9.0.

timeout
int

Establece el tiempo de espera del lado servidor para la operación en segundos. Para más información, consulte https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor no se realiza ni se valida en el cliente. Para configurar los tiempos de espera de red del lado cliente, consulte aquí.

Tipo de valor devuelto

Ejemplos

Creación de un sistema de archivos en el servicio datalake.


   datalake_service_client.create_file_system("filesystem")

delete_file_system

Marca el sistema de archivos especificado para su eliminación.

El sistema de archivos y los archivos contenidos en él se eliminan posteriormente durante la recolección de elementos no utilizados. Si no se encuentra el sistema de archivos, se generará un resourceNotFoundError.

delete_file_system(file_system: FileSystemProperties | str, **kwargs) -> FileSystemClient

Parámetros

file_system
str o FileSystemProperties
Requerido

Sistema de archivos que se va a eliminar. Puede ser el nombre del sistema de archivos o una instancia de FileSystemProperties.

lease
DataLakeLeaseClient o str

Si se especifica, delete_file_system solo se realiza correctamente si la concesión del sistema de archivos está activa y coincide con este identificador. Requerido si el sistema de archivos tiene una concesión activa.

if_modified_since
datetime

Un valor DateTime. Azure espera que el valor de fecha pasado sea UTC. Si se incluye la zona horaria, las fechas y horas no UTC se convertirán a UTC. Si se pasa una fecha sin información de zona horaria, se supone que es UTC. Especifique este encabezado para realizar la operación solo si se ha modificado el recurso desde la hora especificada.

if_unmodified_since
datetime

Un valor DateTime. Azure espera que el valor de fecha pasado sea UTC. Si se incluye la zona horaria, las fechas y horas no UTC se convertirán a UTC. Si se pasa una fecha sin información de zona horaria, se supone que es UTC. Especifique este encabezado para realizar la operación solo si no se ha modificado el recurso desde la fecha u hora especificada.

etag
str

Valor ETag o el carácter comodín (*). Se usa para comprobar si el recurso ha cambiado y actuar según la condición especificada por el parámetro match_condition .

match_condition
MatchConditions

Condición de coincidencia que se va a usar en la etiqueta electrónica.

timeout
int

Establece el tiempo de espera del lado servidor para la operación en segundos. Para más información, consulte https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor no se realiza ni se valida en el cliente. Para configurar los tiempos de espera de red del lado cliente, consulte aquí.

Tipo de valor devuelto

Ejemplos

Eliminación de un sistema de archivos en el servicio datalake.


   datalake_service_client.delete_file_system("filesystem")

from_connection_string

Cree DataLakeServiceClient a partir de una cadena de conexión.

:return a DataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient

from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

Parámetros

conn_str
str
Requerido

Cadena de conexión a una cuenta de Azure Storage.

credential
valor predeterminado: None

Credenciales con las que se va a autenticar. Esto es opcional si la dirección URL de la cuenta ya tiene un token de SAS o la cadena de conexión ya tiene valores de clave de acceso compartido. El valor puede ser una cadena de token de SAS, una instancia de AzureSasCredential de azure.core.credentials, una clave de acceso compartido de cuenta o una instancia de una clase TokenCredentials de azure.identity. Las credenciales proporcionadas aquí tendrán prioridad sobre las de la cadena de conexión.

Ejemplos

Crear DataLakeServiceClient a partir de una cadena de conexión.


   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

get_directory_client

Obtenga un cliente para interactuar con el directorio especificado.

El directorio aún no debe existir.

get_directory_client(file_system: FileSystemProperties | str, directory: DirectoryProperties | str) -> DataLakeDirectoryClient

Parámetros

file_system
str o FileSystemProperties
Requerido

Sistema de archivos en el que se encuentra el directorio. Puede ser el nombre del sistema de archivos o una instancia de FileSystemProperties.

directory
str o DirectoryProperties
Requerido

Directorio con el que se va a interactuar. Puede ser el nombre del directorio o una instancia de DirectoryProperties.

Devoluciones

A DataLakeDirectoryClient.

Tipo de valor devuelto

Ejemplos

Obtener el cliente de directorio para interactuar con un directorio específico.


   directory_client = datalake_service_client.get_directory_client(file_system_client.file_system_name,
                                                                   "mydirectory")

get_file_client

Obtener un cliente para interactuar con el archivo especificado.

El archivo aún no existe.

get_file_client(file_system: FileSystemProperties | str, file_path: FileProperties | str) -> DataLakeFileClient

Parámetros

file_system
str o FileSystemProperties
Requerido

Sistema de archivos en el que se encuentra el archivo. Puede ser el nombre del sistema de archivos o una instancia de FileSystemProperties.

file_path
str o FileProperties
Requerido

Archivo con el que se va a interactuar. Puede ser la ruta de acceso completa del archivo (desde el directorio raíz) o una instancia de FileProperties. Eg. directory/subdirectory/file

Devoluciones

A DataLakeFileClient.

Tipo de valor devuelto

Ejemplos

Obtener el cliente de archivos para interactuar con un archivo específico.


   file_client = datalake_service_client.get_file_client(file_system_client.file_system_name, "myfile")

get_file_system_client

Obtener un cliente para interactuar con el sistema de archivos especificado.

El sistema de archivos aún no debe existir.

get_file_system_client(file_system: FileSystemProperties | str) -> FileSystemClient

Parámetros

file_system
str o FileSystemProperties
Requerido

El sistema de archivos. Puede ser el nombre del sistema de archivos o una instancia de FileSystemProperties.

Devoluciones

A FileSystemClient.

Tipo de valor devuelto

Ejemplos

Obtener el cliente del sistema de archivos para interactuar con un sistema de archivos específico.


   # Instantiate a DataLakeServiceClient using a connection string
   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

   # Instantiate a FileSystemClient
   file_system_client = datalake_service_client.get_file_system_client("mynewfilesystem")

get_service_properties

Obtiene las propiedades del servicio datalake de una cuenta de almacenamiento, incluido Azure Storage Analytics.

Novedad de la versión 12.4.0: esta operación se introdujo en la versión de API "2020-06-12".

get_service_properties(**kwargs: Any) -> Dict[str, Any]

Parámetros

timeout
int

Establece el tiempo de espera del lado servidor para la operación en segundos. Para más información, consulte https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor no se realiza ni se valida en el cliente. Para configurar los tiempos de espera de red del lado cliente, consulte aquí.

Devoluciones

Objeto que contiene propiedades del servicio datalake, como el registro de análisis, las métricas de hora y minuto, las reglas de cors, etc.

Tipo de valor devuelto

get_user_delegation_key

Obtenga una clave de delegación de usuarios con el fin de firmar tokens de SAS. Una credencial de token debe estar presente en el objeto de servicio para que esta solicitud se realice correctamente.

get_user_delegation_key(key_start_time: datetime, key_expiry_time: datetime, **kwargs: Any) -> UserDelegationKey

Parámetros

key_start_time
datetime
Requerido

Un valor DateTime. Indica cuándo la clave es válida.

key_expiry_time
datetime
Requerido

Un valor DateTime. Indica cuándo la clave deja de ser válida.

timeout
int

Establece el tiempo de espera del lado servidor para la operación en segundos. Para más información, consulte https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor no se realiza ni se valida en el cliente. Para configurar los tiempos de espera de red del lado cliente, consulte aquí.

Devoluciones

Clave de delegación de usuarios.

Tipo de valor devuelto

Ejemplos

Obtenga la clave de delegación de usuarios del cliente del servicio datalake.


   from datetime import datetime, timedelta
   user_delegation_key = datalake_service_client.get_user_delegation_key(datetime.utcnow(),
                                                                         datetime.utcnow() + timedelta(hours=1))

list_file_systems

Devuelve un generador para enumerar los sistemas de archivos de la cuenta especificada.

El generador seguirá de forma diferida los tokens de continuación devueltos por el servicio y se detendrá cuando se devuelvan todos los sistemas de archivos.

list_file_systems(name_starts_with: str | None = None, include_metadata: bool | None = None, **kwargs) -> ItemPaged[FileSystemProperties]

Parámetros

name_starts_with
str
Requerido

Filtra los resultados para devolver solo los sistemas de archivos cuyos nombres comienzan por el prefijo especificado.

include_metadata
bool
Requerido

Especifica que los metadatos del sistema de archivos se devuelven en la respuesta. El valor predeterminado es False.

results_per_page
int

Número máximo de nombres de sistema de archivos que se van a recuperar por llamada API. Si la solicitud no especifica que el servidor devuelva hasta 5000 elementos por página.

timeout
int

Establece el tiempo de espera del lado servidor para la operación en segundos. Para más información, consulte https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor no se realiza ni se valida en el cliente. Para configurar los tiempos de espera de red del lado cliente, consulte aquí.

include_deleted
bool

Especifica que los sistemas de archivos eliminados se devolverán en la respuesta. Esto es para la cuenta habilitada para la restauración del sistema de archivos. El valor predeterminado es False. .. versionadded:: 12.3.0

include_system
bool

Marca que especifica que se deben incluir los sistemas de archivos del sistema. .. versionadded:: 12.6.0

Devoluciones

Iterable (paginación automática) de FileSystemProperties.

Tipo de valor devuelto

Ejemplos

Enumeración de los sistemas de archivos en el servicio datalake.


   file_systems = datalake_service_client.list_file_systems()
   for file_system in file_systems:
       print(file_system.name)

set_service_properties

Establece las propiedades del servicio Datalake de una cuenta de almacenamiento, incluido Azure Storage Analytics.

Novedad de la versión 12.4.0: esta operación se introdujo en la versión de API "2020-06-12".

Si un elemento (por ejemplo, analytics_logging) se deja como None, se conserva la configuración existente en el servicio para esa funcionalidad.

set_service_properties(**kwargs: Any) -> None

Parámetros

analytics_logging

Agrupa los valores de Logging de análisis de Azure.

hour_metrics

La configuración de métricas de hora proporciona un resumen de las estadísticas de solicitud agrupadas por API en agregados por hora.

minute_metrics

La configuración de métricas por minuto proporciona estadísticas de solicitud para cada minuto.

cors

Puede incluir hasta cinco elementos CorsRule en la lista. Si se especifica una lista vacía, se eliminarán todas las reglas de CORS y CORS se deshabilitará para el servicio.

target_version
str

Indica la versión predeterminada que se va a usar para las solicitudes si no se especifica la versión de una solicitud entrante.

delete_retention_policy

La directiva de retención de eliminación especifica si se deben conservar los archivos o directorios eliminados. También especifica el número de días y versiones de archivo o directorio que se conservarán.

static_website

Especifica si la característica de sitio web estático está habilitada y, si es así, indica el documento de índice y el documento de error 404 que se va a usar.

timeout
int

Establece el tiempo de espera del lado servidor para la operación en segundos. Para más información, consulte https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor no se realiza ni se valida en el cliente. Para configurar los tiempos de espera de red del lado cliente, consulte aquí.

Tipo de valor devuelto

undelete_file_system

Restaura el sistema de archivos eliminado temporalmente.

La operación solo se realizará correctamente si se usa dentro del número de días especificado establecido en la directiva de retención de eliminación.

Novedad de la versión 12.3.0: esta operación se introdujo en la versión de API "2019-12-12".

undelete_file_system(name: str, deleted_version: str, **kwargs: Any) -> FileSystemClient

Parámetros

name
str
Requerido

Especifica el nombre del sistema de archivos eliminado que se va a restaurar.

deleted_version
str
Requerido

Especifica la versión del sistema de archivos eliminado que se va a restaurar.

timeout
int

Establece el tiempo de espera del lado servidor para la operación en segundos. Para más información, consulte https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor no se realiza ni se valida en el cliente. Para configurar los tiempos de espera de red del lado cliente, consulte aquí.

Devoluciones

FileSystemClient eliminado por solft restaurado.

Tipo de valor devuelto

Atributos

api_version

La versión de la API de storage que se usa para las solicitudes.

location_mode

Modo de ubicación que el cliente está usando actualmente.

De forma predeterminada, será "principal". Las opciones incluyen "primary" y "secondary".

primary_endpoint

Dirección URL completa del punto de conexión principal.

primary_hostname

Nombre de host del punto de conexión principal.

secondary_endpoint

Dirección URL completa del punto de conexión secundario si está configurada.

Si no está disponible, se generará un valor ValueError. Para especificar explícitamente un nombre de host secundario, use el argumento opcional secondary_hostname palabra clave en la creación de instancias.

Excepciones

secondary_hostname

Nombre de host del punto de conexión secundario.

Si no está disponible, será Ninguno. Para especificar explícitamente un nombre de host secundario, use el argumento opcional secondary_hostname palabra clave en la creación de instancias.

url

Dirección URL completa del punto de conexión a esta entidad, incluido el token de SAS si se usa.

Puede ser el punto de conexión principal o el punto de conexión secundario según el actual location_mode. :returns: la dirección URL completa del punto de conexión a esta entidad, incluido el token de SAS si se usa. :rtype: str