DataLakeServiceClient Classe
Um cliente para interagir com o Serviço DataLake no nível da conta.
Esse cliente fornece operações para recuperar e configurar as propriedades da conta, bem como listar, criar e excluir sistemas de arquivos dentro da conta. Para operações relacionadas a um sistema de arquivos específico, diretório ou arquivo, os clientes dessas entidades também podem ser recuperados usando as funções get_client .
- Herança
-
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixinDataLakeServiceClient
Construtor
DataLakeServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
Parâmetros
- account_url
- str
A URL para a conta de armazenamento do DataLake. Todas as outras entidades incluídas no caminho da URL (por exemplo, sistema de arquivos ou arquivo) serão descartadas. Essa URL pode ser autenticada opcionalmente com um token SAS.
- credential
As credenciais com as quais autenticar. Isso será opcional se a URL da conta já tiver um token SAS. O valor pode ser uma cadeia de caracteres de token SAS, uma instância de um AzureSasCredential ou AzureNamedKeyCredential de azure.core.credentials, uma chave de acesso compartilhado de conta ou uma instância de uma classe TokenCredentials de azure.identity. Se o URI do recurso já contiver um token SAS, isso será ignorado em favor de uma credencial explícita
- exceto no caso de AzureSasCredential, em que os tokens SAS conflitantes gerarão um ValueError. Se estiver usando uma instância de AzureNamedKeyCredential, "name" deverá ser o nome da conta de armazenamento e "key" deverá ser a chave da conta de armazenamento.
- api_version
- str
A versão da API de Armazenamento a ser usada para solicitações. O valor padrão é a versão de serviço mais recente compatível com o SDK atual. A configuração para uma versão mais antiga pode resultar em redução da compatibilidade de recursos.
Exemplos
Criando o DataLakeServiceClient da cadeia de conexão.
from azure.storage.filedatalake import DataLakeServiceClient
datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)
Criando o DataLakeServiceClient com credenciais de Identidade do 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)
Variáveis
- url
- str
A URL completa do ponto de extremidade para o ponto de extremidade de serviço datalake.
- primary_endpoint
- str
A URL completa do ponto de extremidade primário.
- primary_hostname
- str
O nome do host do ponto de extremidade primário.
Métodos
close |
Esse método é para fechar os soquetes abertos pelo cliente. Ele não precisa ser usado ao usar com um gerenciador de contexto. |
create_file_system |
Cria um novo sistema de arquivos na conta especificada. Se o sistema de arquivos com o mesmo nome já existir, um ResourceExistsError será gerado. Esse método retorna um cliente com o qual interagir com o sistema de arquivos recém-criado. |
delete_file_system |
Marca o sistema de arquivos especificado para exclusão. O sistema de arquivos e todos os arquivos contidos nele serão excluídos posteriormente durante a coleta de lixo. Se o sistema de arquivos não for encontrado, um ResourceNotFoundError será gerado. |
from_connection_string |
Crie DataLakeServiceClient de uma cadeia de conexão. :return a DataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient |
get_directory_client |
Faça com que um cliente interaja com o diretório especificado. O diretório ainda não precisa existir. |
get_file_client |
Faça com que um cliente interaja com o arquivo especificado. O arquivo ainda não precisa existir. |
get_file_system_client |
Faça com que um cliente interaja com o sistema de arquivos especificado. O sistema de arquivos ainda não precisa existir. |
get_service_properties |
Obtém as propriedades do serviço datalake de uma conta de armazenamento, incluindo Análise de Armazenamento do Azure. Novo na versão 12.4.0: essa operação foi introduzida na versão da API '2020-06-12'. |
get_user_delegation_key |
Obtenha uma chave de delegação de usuário com a finalidade de assinar tokens SAS. Uma credencial de token deve estar presente no objeto de serviço para que essa solicitação tenha êxito. |
list_file_systems |
Retorna um gerador para listar os sistemas de arquivos na conta especificada. O gerador seguirá lentamente os tokens de continuação retornados pelo serviço e será interrompido quando todos os sistemas de arquivos forem retornados. |
set_service_properties |
Define as propriedades do serviço Datalake de uma conta de armazenamento, incluindo Análise de Armazenamento do Azure. Novo na versão 12.4.0: essa operação foi introduzida na versão da API '2020-06-12'. Se um elemento (por exemplo, analytics_logging) for deixado como Nenhum, as configurações existentes no serviço para essa funcionalidade serão preservadas. |
undelete_file_system |
Restaura o sistema de arquivos com exclusão reversível. A operação só será bem-sucedida se for usada dentro do número especificado de dias definido na política de retenção de exclusão. Novidade na versão 12.3.0: essa operação foi introduzida na versão da API '2019-12-12'. |
close
Esse método é para fechar os soquetes abertos pelo cliente. Ele não precisa ser usado ao usar com um gerenciador de contexto.
close() -> None
create_file_system
Cria um novo sistema de arquivos na conta especificada.
Se o sistema de arquivos com o mesmo nome já existir, um ResourceExistsError será gerado. Esse método retorna um cliente com o qual interagir com o sistema de arquivos recém-criado.
create_file_system(file_system: FileSystemProperties | str, metadata: Dict[str, str] | None = None, public_access: PublicAccess | None = None, **kwargs) -> FileSystemClient
Parâmetros
Um dict com pares nome-valor a serem associados ao sistema de arquivos como metadados. Exemplo: {'Category':'test'}
- encryption_scope_options
- dict ou EncryptionScopeOptions
Especifica o escopo de criptografia padrão a ser definido no sistema de arquivos e usado para todas as gravações futuras.
Novo na versão 12.9.0.
- timeout
- int
Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.
Tipo de retorno
Exemplos
Criando um sistema de arquivos no serviço datalake.
datalake_service_client.create_file_system("filesystem")
delete_file_system
Marca o sistema de arquivos especificado para exclusão.
O sistema de arquivos e todos os arquivos contidos nele serão excluídos posteriormente durante a coleta de lixo. Se o sistema de arquivos não for encontrado, um ResourceNotFoundError será gerado.
delete_file_system(file_system: FileSystemProperties | str, **kwargs) -> FileSystemClient
Parâmetros
- file_system
- str ou FileSystemProperties
O sistema de arquivos a ser excluído. Pode ser o nome do sistema de arquivos ou uma instância de FileSystemProperties.
- lease
- DataLakeLeaseClient ou str
Se especificado, delete_file_system só terá êxito se a concessão do sistema de arquivos estiver ativa e corresponder a essa ID. Obrigatório se o sistema de arquivos tiver uma concessão ativa.
- if_modified_since
- datetime
Um valor Datetime. O Azure espera que o valor de data passado seja UTC. Se o fuso horário for incluído, todos os datetimes não UTC serão convertidos em UTC. Se uma data for passada sem informações de fuso horário, será considerado UTC. Especifique esse cabeçalho para executar a operação somente se o recurso tiver sido modificado desde a hora especificada.
- if_unmodified_since
- datetime
Um valor Datetime. O Azure espera que o valor de data passado seja UTC. Se o fuso horário for incluído, todos os datetimes não UTC serão convertidos em UTC. Se uma data for passada sem informações de fuso horário, será considerado UTC. Especifique esse cabeçalho para executar a operação somente se o recurso não tiver sido modificado desde a data/hora especificada.
- etag
- str
Um valor de ETag ou o caractere curinga (*). Usado para marcar se o recurso foi alterado e agir de acordo com a condição especificada pelo parâmetro match_condition.
- match_condition
- MatchConditions
A condição de correspondência a ser usada na etag.
- timeout
- int
Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.
Tipo de retorno
Exemplos
Excluindo um sistema de arquivos no serviço datalake.
datalake_service_client.delete_file_system("filesystem")
from_connection_string
Crie DataLakeServiceClient de uma cadeia de conexão.
: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
- credential
As credenciais com as quais autenticar. Isso é opcional se a URL da conta já tiver um token SAS ou se a cadeia de conexão já tiver valores de chave de acesso compartilhados. O valor pode ser uma cadeia de caracteres de token SAS, uma instância de um AzureSasCredential de azure.core.credentials, uma chave de acesso compartilhado de conta ou uma instância de uma classe TokenCredentials de azure.identity. As credenciais fornecidas aqui terão precedência sobre aquelas na cadeia de conexão.
Exemplos
Criando o DataLakeServiceClient de uma cadeia de conexão.
from azure.storage.filedatalake import DataLakeServiceClient
datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)
get_directory_client
Faça com que um cliente interaja com o diretório especificado.
O diretório ainda não precisa existir.
get_directory_client(file_system: FileSystemProperties | str, directory: DirectoryProperties | str) -> DataLakeDirectoryClient
Parâmetros
- file_system
- str ou FileSystemProperties
O sistema de arquivos no qual o diretório está. Pode ser o nome do sistema de arquivos ou uma instância de FileSystemProperties.
- directory
- str ou DirectoryProperties
O diretório com o qual interagir. Pode ser o nome do diretório ou uma instância de DirectoryProperties.
Retornos
Um DataLakeDirectoryClient.
Tipo de retorno
Exemplos
Fazer com que o cliente de diretório interaja com um diretório específico.
directory_client = datalake_service_client.get_directory_client(file_system_client.file_system_name,
"mydirectory")
get_file_client
Faça com que um cliente interaja com o arquivo especificado.
O arquivo ainda não precisa existir.
get_file_client(file_system: FileSystemProperties | str, file_path: FileProperties | str) -> DataLakeFileClient
Parâmetros
- file_system
- str ou FileSystemProperties
O sistema de arquivos no qual o arquivo está. Pode ser o nome do sistema de arquivos ou uma instância de FileSystemProperties.
- file_path
- str ou FileProperties
O arquivo com o qual interagir. Esse pode ser o caminho completo do arquivo (do diretório raiz) ou uma instância de FileProperties. Eg. directory/subdirectory/file
Retornos
Um DataLakeFileClient.
Tipo de retorno
Exemplos
Fazer com que o cliente do arquivo interaja com um arquivo específico.
file_client = datalake_service_client.get_file_client(file_system_client.file_system_name, "myfile")
get_file_system_client
Faça com que um cliente interaja com o sistema de arquivos especificado.
O sistema de arquivos ainda não precisa existir.
get_file_system_client(file_system: FileSystemProperties | str) -> FileSystemClient
Parâmetros
- file_system
- str ou FileSystemProperties
O sistema de arquivos. Esse pode ser o nome do sistema de arquivos ou uma instância de FileSystemProperties.
Retornos
Um FileSystemClient.
Tipo de retorno
Exemplos
Fazer com que o cliente do sistema de arquivos interaja com um sistema de arquivos 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
Obtém as propriedades do serviço datalake de uma conta de armazenamento, incluindo Análise de Armazenamento do Azure.
Novo na versão 12.4.0: essa operação foi introduzida na versão da API '2020-06-12'.
get_service_properties(**kwargs: Any) -> Dict[str, Any]
Parâmetros
- timeout
- int
Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.
Retornos
Um objeto que contém propriedades de serviço datalake, como log de análise, métricas de hora/minuto, regras de cors etc.
Tipo de retorno
get_user_delegation_key
Obtenha uma chave de delegação de usuário com a finalidade de assinar tokens SAS. Uma credencial de token deve estar presente no objeto de serviço para que essa solicitação tenha êxito.
get_user_delegation_key(key_start_time: datetime, key_expiry_time: datetime, **kwargs: Any) -> UserDelegationKey
Parâmetros
- timeout
- int
Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.
Retornos
A chave de delegação do usuário.
Tipo de retorno
Exemplos
Obtenha a chave de delegação do usuário do cliente de serviço 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
Retorna um gerador para listar os sistemas de arquivos na conta especificada.
O gerador seguirá lentamente os tokens de continuação retornados pelo serviço e será interrompido quando todos os sistemas de arquivos forem retornados.
list_file_systems(name_starts_with: str | None = None, include_metadata: bool | None = None, **kwargs) -> ItemPaged[FileSystemProperties]
Parâmetros
- name_starts_with
- str
Filtra os resultados para retornar somente sistemas de arquivos cujos nomes começam com o prefixo especificado.
- include_metadata
- bool
Especifica que os metadados do sistema de arquivos sejam retornados na resposta. O valor padrão é Falso.
- results_per_page
- int
O número máximo de nomes do sistema de arquivos a serem recuperados por chamada à API. Se a solicitação não especificar, o servidor retornará até 5.000 itens por página.
- timeout
- int
Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.
- include_deleted
- bool
Especifica que os sistemas de arquivos excluídos a serem retornados na resposta. Isso é para a conta habilitada para restauração do sistema de arquivos. O valor padrão é Falso. .. versionadded:: 12.3.0
- include_system
- bool
Sinalizador especificando que os sistemas de arquivos do sistema devem ser incluídos. .. versionadded:: 12.6.0
Retornos
Um iterável (paginação automática) de FileSystemProperties.
Tipo de retorno
Exemplos
Listando os sistemas de arquivos no serviço datalake.
file_systems = datalake_service_client.list_file_systems()
for file_system in file_systems:
print(file_system.name)
set_service_properties
Define as propriedades do serviço Datalake de uma conta de armazenamento, incluindo Análise de Armazenamento do Azure.
Novo na versão 12.4.0: essa operação foi introduzida na versão da API '2020-06-12'.
Se um elemento (por exemplo, analytics_logging) for deixado como Nenhum, as configurações existentes no serviço para essa funcionalidade serão preservadas.
set_service_properties(**kwargs: Any) -> None
Parâmetros
- analytics_logging
Agrupa as configurações de Log da Análise do Azure.
- hour_metrics
As configurações de métricas de hora fornecem um resumo das estatísticas de solicitação agrupadas pela API em agregações por hora.
- minute_metrics
As configurações de métricas de minuto fornecem estatísticas de solicitação para cada minuto.
- cors
Você pode incluir até cinco elementos CorsRule na lista. Se uma lista vazia for especificada, todas as regras CORS serão excluídas e o CORS será desabilitado para o serviço.
- target_version
- str
Indica a versão padrão a ser usada para solicitações se a versão de uma solicitação de entrada não for especificada.
- delete_retention_policy
A política de retenção de exclusão especifica se os arquivos/diretórios excluídos devem ser retidos. Ele também especifica o número de dias e versões do arquivo/diretório a serem mantidos.
- static_website
Especifica se o recurso de site estático está habilitado e, se sim, indica o documento de índice e o documento de erro 404 a ser usado.
- timeout
- int
Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.
Tipo de retorno
undelete_file_system
Restaura o sistema de arquivos com exclusão reversível.
A operação só será bem-sucedida se for usada dentro do número especificado de dias definido na política de retenção de exclusão.
Novidade na versão 12.3.0: essa operação foi introduzida na versão da API '2019-12-12'.
undelete_file_system(name: str, deleted_version: str, **kwargs: Any) -> FileSystemClient
Parâmetros
- deleted_version
- str
Especifica a versão do sistema de arquivos excluído a ser restaurado.
- timeout
- int
Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.
Retornos
O FileSystemClient excluído por solft restaurado.
Tipo de retorno
Atributos
api_version
A versão da API de Armazenamento usada para solicitações.
location_mode
O modo de localização que o cliente está usando no momento.
Por padrão, isso será "primário". As opções incluem "primário" e "secundário".
primary_endpoint
A URL completa do ponto de extremidade primário.
primary_hostname
O nome do host do ponto de extremidade primário.
secondary_endpoint
A URL completa do ponto de extremidade secundário, se configurada.
Se não estiver disponível, um ValueError será gerado. Para especificar explicitamente um nome de host secundário, use o argumento opcional secondary_hostname palavra-chave na instanciação.
Exceções
secondary_hostname
O nome do host do ponto de extremidade secundário.
Se não estiver disponível, será Nenhum. Para especificar explicitamente um nome de host secundário, use o argumento opcional secondary_hostname palavra-chave na instanciação.
url
A URL completa do ponto de extremidade para essa entidade, incluindo o token SAS, se usado.
Isso pode ser o ponto de extremidade primário ou o ponto de extremidade secundário, dependendo do atual location_mode. :returns: a URL completa do ponto de extremidade para essa entidade, incluindo o token SAS, se usado. :rtype: str
Azure SDK for Python