Partilhar via


FileSystemClient Classe

Um cliente para interagir com um sistema de ficheiros específico, mesmo que esse sistema de ficheiros ainda não exista.

Para operações relacionadas com um diretório ou ficheiro específico neste sistema de ficheiros, um cliente de diretório ou cliente de ficheiros pode ser obtido com as get_directory_client funções ou get_file_client .

Herança
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixin
FileSystemClient

Construtor

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

Parâmetros

account_url
str
Necessário

O URI para a conta de armazenamento.

file_system_name
str
Necessário

O sistema de ficheiros para o diretório ou ficheiros.

credential
valor predefinido: None

As credenciais com as quais se autenticar. Isto é opcional se o URL da conta já tiver um token de SAS. O valor pode ser uma cadeia de token de SAS, uma instância de um AzureSasCredential ou AzureNamedKeyCredential a partir de azure.core.credentials, uma chave de acesso partilhada de conta ou uma instância de uma classe TokenCredentials a partir de azure.identity. Se o URI do recurso já contiver um token de SAS, este será ignorado a favor de uma credencial explícita

  • exceto no caso do AzureSasCredential, em que os tokens SAS em conflito gerarão um ValueError. Se utilizar uma instância do AzureNamedKeyCredential, "name" deve ser o nome da conta de armazenamento e "chave" deve ser a chave da conta de armazenamento.
api_version
str

A versão da API de Armazenamento a utilizar para pedidos. O valor predefinido é a versão de serviço mais recente compatível com o SDK atual. Definir para uma versão mais antiga pode resultar numa compatibilidade de funcionalidades reduzida.

Exemplos

Obtenha um FileSystemClient a partir de um DataLakeServiceClient existente.


   # 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")

Variáveis

url
str

O URL de ponto final completo para o sistema de ficheiros, incluindo o token de SAS, se utilizado.

primary_endpoint
str

O URL completo do ponto final primário.

primary_hostname
str

O nome do anfitrião do ponto final primário.

Métodos

acquire_lease

Pede uma nova concessão. Se o sistema de ficheiros não tiver uma concessão ativa, o serviço DataLake cria uma concessão no sistema de ficheiros e devolve um novo ID de concessão.

close

Este método consiste em fechar os sockets abertos pelo cliente. Não é necessário utilizá-la ao utilizar com um gestor de contexto.

create_directory

Criar um diretório

create_file

Criar ficheiro

create_file_system

Cria um novo sistema de ficheiros na conta especificada.

Se o sistema de ficheiros com o mesmo nome já existir, será gerado um ResourceExistsError. Este método devolve um cliente com o qual pode interagir com o sistema de ficheiros criado recentemente.

delete_directory

Marca o caminho especificado para eliminação.

delete_file

Marca o ficheiro especificado para eliminação.

delete_file_system

Marca o sistema de ficheiros especificado para eliminação.

O sistema de ficheiros e quaisquer ficheiros nele contidos são posteriormente eliminados durante a recolha de lixo. Se o sistema de ficheiros não for encontrado, será gerado um ResourceNotFoundError.

exists

Devolve Verdadeiro se existir um sistema de ficheiros e devolve Falso de outra forma.

from_connection_string

Crie FileSystemClient a partir de uma Cadeia de Ligação.

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

get_directory_client

Faça com que um cliente interaja com o diretório especificado.

O diretório ainda não precisa de existir.

get_file_client

Faça com que um cliente interaja com o ficheiro especificado.

O ficheiro ainda não precisa de existir.

get_file_system_access_policy

Obtém as permissões para o sistema de ficheiros especificado. As permissões indicam se os dados do sistema de ficheiros podem ser acedidos publicamente.

get_file_system_properties

Devolve todas as propriedades de sistema e metadados definidos pelo utilizador para o sistema de ficheiros especificado. Os dados devolvidos não incluem a lista de caminhos do sistema de ficheiros.

get_paths

Devolve um gerador para listar os caminhos (podem ser ficheiros ou diretórios) no sistema de ficheiros especificado. O gerador seguirá preguiçosamente os tokens de continuação devolvidos pelo serviço.

list_deleted_paths

Devolve um gerador para listar os caminhos eliminados (ficheiro ou diretório) no sistema de ficheiros especificado. O gerador seguirá preguiçosamente os tokens de continuação devolvidos pelo serviço.

Novidade na versão 12.4.0: esta operação foi introduzida na versão de API "2020-06-12".

set_file_system_access_policy

Define as permissões para o sistema de ficheiros especificado ou políticas de acesso armazenado que podem ser utilizadas com Assinaturas de Acesso Partilhado. As permissões indicam se os ficheiros num sistema de ficheiros podem ser acedidos publicamente.

set_file_system_metadata

Define um ou mais pares nome-valor definidos pelo utilizador para o sistema de ficheiros especificado. Cada chamada para esta operação substitui todos os metadados existentes anexados ao sistema de ficheiros. Para remover todos os metadados do sistema de ficheiros, chame esta operação sem dict de metadados.

acquire_lease

Pede uma nova concessão. Se o sistema de ficheiros não tiver uma concessão ativa, o serviço DataLake cria uma concessão no sistema de ficheiros e devolve um novo ID de concessão.

acquire_lease(lease_duration: int = -1, lease_id: str | None = None, **kwargs) -> DataLakeLeaseClient

Parâmetros

lease_duration
int
Necessário

Especifica a duração da concessão, em segundos ou negativa (-1) para uma concessão que nunca expira. Uma concessão não infinita pode ser entre 15 e 60 segundos. Não é possível alterar a duração da concessão através da renovação ou alteração. A predefinição é -1 (concessão infinita).

lease_id
str
Necessário

ID de concessão proposto, num formato de cadeia GUID. O serviço DataLake devolve 400 (Pedido inválido) se o ID de concessão proposto não estiver no formato correto.

if_modified_since
datetime

Um valor DateTime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se for transmitida uma data sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas 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 transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se for transmitida uma data sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data/hora especificada.

etag
str

Um valor ETag ou o caráter universal (*). Utilizado para verificar 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 utilizar no etag.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é controlado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

Um objeto DataLakeLeaseClient, que pode ser executado num gestor de contexto.

Tipo de retorno

Exemplos

Adquirir uma concessão no sistema de ficheiros.


   # Acquire a lease on the file system
   lease = file_system_client.acquire_lease()

   # Delete file system by passing in the lease
   file_system_client.delete_file_system(lease=lease)

close

Este método consiste em fechar os sockets abertos pelo cliente. Não é necessário utilizá-la ao utilizar com um gestor de contexto.

close() -> None

create_directory

Criar um diretório

create_directory(directory: DirectoryProperties | str, metadata: Dict[str, str] | None = None, **kwargs) -> DataLakeDirectoryClient

Parâmetros

directory
str ou DirectoryProperties
Necessário

O diretório com o qual interagir. Pode ser o nome do diretório ou uma instância de DirectoryProperties.

metadata
dict(str, str)
Necessário

Pares nome-valor associados ao ficheiro como metadados.

content_settings
ContentSettings

Objeto ContentSettings utilizado para definir propriedades do caminho.

lease
DataLakeLeaseClient ou str

Necessário se o ficheiro tiver uma concessão ativa. O valor pode ser um objeto DataLakeLeaseClient ou o ID de concessão como uma cadeia.

umask
str

Opcional e válido apenas se o Espaço de Nomes Hierárquico estiver ativado para a conta. Ao criar um ficheiro ou diretório e a pasta principal não tiver uma ACL predefinida, a umask restringe as permissões do ficheiro ou diretório a criar. A permissão resultante é dada por p & ^u, em que p é a permissão e o utilizador é a umask. Por exemplo, se p for 0777 e for 0057, a permissão resultante será 0720. A permissão predefinida é 0777 para um diretório e 0666 para um ficheiro. A umask predefinida é 0027. A umask tem de ser especificada em notação octal de 4 dígitos (por exemplo, 0766).

owner
str

O proprietário do ficheiro ou diretório.

group
str

O grupo proprietário do ficheiro ou diretório.

acl
str

Define direitos de controlo de acesso POSIX em ficheiros e diretórios. O valor é uma lista separada por vírgulas de entradas de controlo de acesso. Cada entrada de controlo de acesso (ACE) consiste num âmbito, um tipo, um identificador de utilizador ou grupo e permissões no formato "[scope:][type]:[id]:[permissions]".

lease_id
str

ID de concessão proposto, num formato de cadeia GUID. O serviço DataLake devolve 400 (Pedido inválido) se o ID de concessão proposto não estiver no formato correto.

lease_duration
int

Especifica a duração da concessão, em segundos ou negativa (-1) para uma concessão que nunca expira. Uma concessão não infinita pode ser entre 15 e 60 segundos. Não é possível alterar a duração da concessão através da renovação ou alteração.

permissions
str

Opcional e válido apenas se o Espaço de Nomes Hierárquico estiver ativado para a conta. Define permissões de acesso POSIX para o proprietário do ficheiro, o grupo proprietário do ficheiro e outros. Pode ser concedida permissão de leitura, escrita ou execução a cada classe. O sticky bit também é suportado. Tanto a notação octal simbólica (rwxrw-rw-) como a notação octal de 4 dígitos (por exemplo, 0766) são suportadas.

if_modified_since
datetime

Um valor DateTime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se for transmitida uma data sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas 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 transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se for transmitida uma data sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data/hora especificada.

etag
str

Um valor ETag ou o caráter universal (*). Utilizado para verificar 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 utilizar no etag.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

DataLakeDirectoryClient

Exemplos

Crie um diretório no sistema de ficheiros.


   directory_client = file_system_client.create_directory("mydirectory")

create_file

Criar ficheiro

create_file(file: FileProperties | str, **kwargs) -> DataLakeFileClient

Parâmetros

file
str ou FileProperties
Necessário

O ficheiro com o qual interagir. Pode ser o nome do ficheiro ou uma instância de FileProperties.

content_settings
ContentSettings
Necessário

Objeto ContentSettings utilizado para definir propriedades de caminho.

metadata
dict(str, str)
Necessário

Pares nome-valor associados ao ficheiro como metadados.

lease
DataLakeLeaseClient ou str

Necessário se o ficheiro tiver uma concessão ativa. O valor pode ser um objeto DataLakeLeaseClient ou o ID de concessão como uma cadeia.

umask
str

Opcional e apenas válido se o Espaço de Nomes Hierárquico estiver ativado para a conta. Ao criar um ficheiro ou diretório e a pasta principal não tiver uma ACL predefinida, a umask restringe as permissões do ficheiro ou diretório a criar. A permissão resultante é dada por p & ^u, em que p é a permissão e o utilizador é a umask. Por exemplo, se p for 0777 e for 0057, a permissão resultante é 0720. A permissão predefinida é 0777 para um diretório e 0666 para um ficheiro. A umask predefinida é 0027. A umask tem de ser especificada na notação octal de 4 dígitos (por exemplo, 0766).

owner
str

O proprietário do ficheiro ou diretório.

group
str

O grupo proprietário do ficheiro ou diretório.

acl
str

Define os direitos de controlo de acesso POSIX em ficheiros e diretórios. O valor é uma lista separada por vírgulas de entradas de controlo de acesso. Cada entrada de controlo de acesso (ACE) consiste num âmbito, um tipo, um identificador de utilizador ou grupo e permissões no formato "[âmbito:][tipo]:[id]:[permissões]".

lease_id
str

ID de concessão proposto, num formato de cadeia GUID. O serviço DataLake devolve 400 (pedido inválido) se o ID de concessão proposto não estiver no formato correto.

lease_duration
int

Especifica a duração da concessão, em segundos ou negativa (-1) para uma concessão que nunca expira. Uma concessão não infinita pode ter entre 15 e 60 segundos. Não é possível alterar a duração da concessão com renovação ou alteração.

expires_on
datetime ou int

A hora de definir o ficheiro para expirar. Se o tipo de expires_on for um int, o tempo de expiração será definido como o número de milissegundos decorrido do tempo de criação. Se o tipo de expires_on for datetime, a hora de expiração será definida como absoluta para a hora fornecida. Se não forem fornecidas informações de fuso horário, esta ação será interpretada como UTC.

permissions
str

Opcional e apenas válido se o Espaço de Nomes Hierárquico estiver ativado para a conta. Define as permissões de acesso POSIX para o proprietário do ficheiro, o grupo proprietário do ficheiro e outros. A cada classe pode ser concedida permissão de leitura, escrita ou execução. A bit autocolante também é suportada. Ambos os símbolos (rwxrw-rw-) e notação octal de 4 dígitos (por exemplo, 0766) são suportados.

if_modified_since
datetime

Um valor DateTime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se uma data for transmitida sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas 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 transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se uma data for transmitida sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data/hora especificada.

etag
str

Um valor ETag ou o caráter universal (*). Utilizado para verificar 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 utilizar no etag.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

DataLakeFileClient

Exemplos

Crie um ficheiro no sistema de ficheiros.


   file_client = file_system_client.create_file("myfile")

create_file_system

Cria um novo sistema de ficheiros na conta especificada.

Se o sistema de ficheiros com o mesmo nome já existir, será gerado um ResourceExistsError. Este método devolve um cliente com o qual pode interagir com o sistema de ficheiros criado recentemente.

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

Parâmetros

metadata
dict(str, str)
Necessário

Um ditado com pares nome-valor para associar ao sistema de ficheiros como metadados. Exemplo: {'Category':'test'}

public_access
PublicAccess
Necessário

Para especificar se os dados no sistema de ficheiros podem ser acedidos publicamente e o nível de acesso.

encryption_scope_options
dict ou EncryptionScopeOptions

Especifica o âmbito de encriptação predefinido a definir no sistema de ficheiros e a utilização para todas as escritas futuras.

Novidade 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 detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

Um dicionário de cabeçalhos de resposta.

Tipo de retorno

Exemplos

Criar um sistema de ficheiros no serviço datalake.


   file_system_client.create_file_system()

delete_directory

Marca o caminho especificado para eliminação.

delete_directory(directory: DirectoryProperties | str, **kwargs) -> DataLakeDirectoryClient

Parâmetros

directory
str ou DirectoryProperties
Necessário

O diretório com o qual interagir. Este pode ser o nome do diretório ou uma instância de DirectoryProperties.

lease
DataLakeLeaseClient ou str

Necessário se o ficheiro tiver uma concessão ativa. O valor pode ser um objeto LeaseClient ou o ID de concessão como uma cadeia.

if_modified_since
datetime

Um valor DateTime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se uma data for transmitida sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas 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 transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se uma data for transmitida sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data/hora especificada.

etag
str

Um valor ETag ou o caráter universal (*). Utilizado para verificar 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 utilizar no etag.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

DataLakeDirectoryClient

Exemplos

Elimine o diretório no sistema de ficheiros.


   file_system_client.delete_directory("mydirectory")

delete_file

Marca o ficheiro especificado para eliminação.

delete_file(file: FileProperties | str, **kwargs) -> DataLakeFileClient

Parâmetros

file
str ou FileProperties
Necessário

O ficheiro com o qual interagir. Pode ser o nome do ficheiro ou uma instância de FileProperties.

lease
DataLakeLeaseClient ou str

Necessário se o ficheiro tiver uma concessão ativa. O valor pode ser um objeto LeaseClient ou o ID de concessão como uma cadeia.

if_modified_since
datetime

Um valor DateTime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se uma data for transmitida sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas 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 transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se uma data for transmitida sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data/hora especificada.

etag
str

Um valor ETag ou o caráter universal (*). Utilizado para verificar 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 utilizar no etag.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

DataLakeFileClient

Exemplos

Eliminar ficheiro no sistema de ficheiros.


   file_system_client.delete_file("myfile")

delete_file_system

Marca o sistema de ficheiros especificado para eliminação.

O sistema de ficheiros e quaisquer ficheiros nele contidos são posteriormente eliminados durante a recolha de lixo. Se o sistema de ficheiros não for encontrado, será gerado um ResourceNotFoundError.

delete_file_system(**kwargs: Any) -> None

Parâmetros

lease
str ou DataLakeLeaseClient

Se especificado, delete_file_system só é bem-sucedido se a concessão do sistema de ficheiros estiver ativa e corresponder a este ID. Necessário se o sistema de ficheiros tiver uma concessão ativa.

if_modified_since
datetime

Um valor DateTime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se uma data for transmitida sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas 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 transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se uma data for transmitida sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data/hora especificada.

etag
str

Um valor ETag ou o caráter universal (*). Utilizado para verificar 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 utilizar no etag.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Tipo de retorno

Exemplos

A eliminar um sistema de ficheiros no serviço datalake.


   file_system_client.delete_file_system()

exists

Devolve Verdadeiro se existir um sistema de ficheiros e devolve Falso de outra forma.

exists(**kwargs: Any) -> bool

Parâmetros

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

Verdadeiro se existir um sistema de ficheiros, Falso caso contrário.

Tipo de retorno

from_connection_string

Crie FileSystemClient a partir de uma Cadeia de Ligação.

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

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

Parâmetros

conn_str
str
Necessário

Uma cadeia de ligação a uma conta de Armazenamento do Azure.

file_system_name
str
Necessário

O nome do sistema de ficheiros com o qual interagir.

credential
valor predefinido: None

As credenciais com as quais se autenticar. Isto é opcional se o URL da conta já tiver um token de SAS ou se a cadeia de ligação já tiver valores de chave de acesso partilhados. O valor pode ser uma cadeia de token de SAS, uma instância de uma AzureSasCredential ou AzureNamedKeyCredential a partir de azure.core.credentials, uma chave de acesso partilhada de conta ou uma instância de uma classe TokenCredentials a partir de azure.identity. As credenciais aqui fornecidas terão precedência sobre as da cadeia de ligação. Se utilizar uma instância do AzureNamedKeyCredential, "name" deve ser o nome da conta de armazenamento e "chave" deve ser a chave da conta de armazenamento.

Exemplos

Criar FileSystemClient a partir da cadeia de ligação


   from azure.storage.filedatalake import FileSystemClient
   file_system_client = FileSystemClient.from_connection_string(self.connection_string, "filesystem")

get_directory_client

Faça com que um cliente interaja com o diretório especificado.

O diretório ainda não precisa de existir.

get_directory_client(directory: DirectoryProperties | str) -> DataLakeDirectoryClient

Parâmetros

directory
str ou DirectoryProperties
Necessário

O diretório com o qual interagir. Este pode ser o nome do diretório ou uma instância de DirectoryProperties.

Devoluções

A DataLakeDirectoryClient.

Tipo de retorno

Exemplos

Fazer com que o cliente do diretório interaja com um diretório específico.


   # Get the DataLakeDirectoryClient from the FileSystemClient to interact with a specific file
   directory_client = file_system_client.get_directory_client("mynewdirectory")

get_file_client

Faça com que um cliente interaja com o ficheiro especificado.

O ficheiro ainda não precisa de existir.

get_file_client(file_path: FileProperties | str) -> DataLakeFileClient

Parâmetros

file_path
str ou FileProperties
Necessário

O ficheiro com o qual interagir. Este pode ser o caminho do ficheiro (do diretório de raiz) ou uma instância de FileProperties. por exemplo, diretório/subdiretório/ficheiro

Devoluções

Um DataLakeFileClient.

Tipo de retorno

Exemplos

Fazer com que o cliente de ficheiros interaja com um ficheiro específico.


   # Get the FileClient from the FileSystemClient to interact with a specific file
   file_client = file_system_client.get_file_client("mynewfile")

get_file_system_access_policy

Obtém as permissões para o sistema de ficheiros especificado. As permissões indicam se os dados do sistema de ficheiros podem ser acedidos publicamente.

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

Parâmetros

lease
DataLakeLeaseClient ou str

Se especificado, a operação só será bem-sucedida se a concessão do sistema de ficheiros estiver ativa e corresponder a este ID.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

Aceder às informações da política num ditado.

Tipo de retorno

get_file_system_properties

Devolve todas as propriedades de sistema e metadados definidos pelo utilizador para o sistema de ficheiros especificado. Os dados devolvidos não incluem a lista de caminhos do sistema de ficheiros.

get_file_system_properties(**kwargs: Any) -> FileSystemProperties

Parâmetros

lease
str ou DataLakeLeaseClient

Se especificado, get_file_system_properties só é bem-sucedido se a concessão do sistema de ficheiros estiver ativa e corresponder a este ID.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é monitorizado nem validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

Propriedades do sistema de ficheiros especificado num objeto do sistema de ficheiros.

Tipo de retorno

Exemplos

Obter propriedades no sistema de ficheiros.


   properties = file_system_client.get_file_system_properties()

get_paths

Devolve um gerador para listar os caminhos (podem ser ficheiros ou diretórios) no sistema de ficheiros especificado. O gerador seguirá preguiçosamente os tokens de continuação devolvidos pelo serviço.

get_paths(path: str | None = None, recursive: bool | None = True, max_results: int | None = None, **kwargs) -> ItemPaged[PathProperties]

Parâmetros

path
str
Necessário

Filtra os resultados para devolver apenas caminhos no caminho especificado.

recursive
Optional[bool]
Necessário

Opcional. Defina Verdadeiro como recursivo, Falso para iterativo.

max_results
int
Necessário

Um valor opcional que especifica o número máximo de itens a devolver por página. Se omitido ou superior a 5000, a resposta incluirá até 5000 itens por página.

upn

Opcional. Válido apenas quando o Espaço de Nomes Hierárquico está ativado para a conta. Se "verdadeiro", os valores de identidade de utilizador devolvidos nos cabeçalhos de resposta x-ms-owner, x-ms-group e x-ms-acl serão transformados dos IDs de Objeto do Azure Active Directory para Nomes Principais de Utilizador. Se for "falso", os valores serão devolvidos como IDs de Objeto do Azure Active Directory. O valor predefinido é false. Tenha em atenção que os IDs de objeto de grupo e de aplicação não são traduzidos porque não têm nomes amigáveis exclusivos.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é controlado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

Uma resposta iterável (paginação automática) de PathProperties.

Tipo de retorno

Exemplos

Liste os caminhos no sistema de ficheiros.


   path_list = file_system_client.get_paths()
   for path in path_list:
       print(path.name + '\n')

list_deleted_paths

Devolve um gerador para listar os caminhos eliminados (ficheiro ou diretório) no sistema de ficheiros especificado. O gerador seguirá preguiçosamente os tokens de continuação devolvidos pelo serviço.

Novidade na versão 12.4.0: esta operação foi introduzida na versão de API "2020-06-12".

list_deleted_paths(**kwargs: Any) -> ItemPaged[DeletedPathProperties]

Parâmetros

path_prefix
str

Filtra os resultados para devolver apenas caminhos no caminho especificado.

results_per_page
int

Um valor opcional que especifica o número máximo de itens a devolver por página. Se for omitido ou superior a 5000, a resposta incluirá até 5000 itens por página.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é controlado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

Uma resposta iterável (paginação automática) de DeletedPathProperties.

Tipo de retorno

set_file_system_access_policy

Define as permissões para o sistema de ficheiros especificado ou políticas de acesso armazenado que podem ser utilizadas com Assinaturas de Acesso Partilhado. As permissões indicam se os ficheiros num sistema de ficheiros podem ser acedidos publicamente.

set_file_system_access_policy(signed_identifiers: Dict[str, AccessPolicy], public_access: str | PublicAccess | None = None, **kwargs) -> Dict[str, str | datetime]

Parâmetros

signed_identifiers
dict[str, AccessPolicy]
Necessário

Um dicionário de políticas de acesso a associar ao sistema de ficheiros. O dicionário pode conter até 5 elementos. Um dicionário vazio limpará as políticas de acesso definidas no serviço.

public_access
PublicAccess
Necessário

Para especificar se os dados no sistema de ficheiros podem ser acedidos publicamente e o nível de acesso.

lease
DataLakeLeaseClient ou str

Necessário se o sistema de ficheiros tiver uma concessão ativa. O valor pode ser um objeto DataLakeLeaseClient ou o ID de concessão como uma cadeia.

if_modified_since
datetime

Um valor datetime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se for transmitida uma data sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso tiver sido modificado desde a data/hora especificada.

if_unmodified_since
datetime

Um valor datetime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se for transmitida uma data sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data/hora especificada.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é controlado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

Dict de propriedades atualizadas pelo sistema de ficheiros (Etag e última modificação).

Tipo de retorno

set_file_system_metadata

Define um ou mais pares nome-valor definidos pelo utilizador para o sistema de ficheiros especificado. Cada chamada para esta operação substitui todos os metadados existentes anexados ao sistema de ficheiros. Para remover todos os metadados do sistema de ficheiros, chame esta operação sem dict de metadados.

set_file_system_metadata(metadata: Dict[str, str], **kwargs) -> Dict[str, str | datetime]

Parâmetros

metadata
dict[str, str]
Necessário

Um ditado que contém pares nome-valor para associar ao sistema de ficheiros como metadados. Exemplo: {'category':'test'}

lease
str ou DataLakeLeaseClient

Se for especificado, set_file_system_metadata só será bem-sucedida se a concessão do sistema de ficheiros estiver ativa e corresponder a este ID.

if_modified_since
datetime

Um valor DateTime. O Azure espera que o valor de data transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se for transmitida uma data sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas 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 transmitido seja UTC. Se o fuso horário estiver incluído, quaisquer datetimes não UTC serão convertidos em UTC. Se for transmitida uma data sem informações de fuso horário, assume-se que é UTC. Especifique este cabeçalho para executar a operação apenas se o recurso não tiver sido modificado desde a data/hora especificada.

etag
str

Um valor ETag ou o caráter universal (*). Utilizado para verificar 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 utilizar no etag.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais detalhes, veja https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Este valor não é controlado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, veja aqui.

Devoluções

filesystem-updated property dict (Etag and last modified).

Tipo de retorno

Exemplos

Definir metadados no sistema de ficheiros.


   # Create key, value pairs for metadata
   metadata = {'type': 'test'}

   # Set metadata on the file system
   file_system_client.set_file_system_metadata(metadata=metadata)

Atributos

api_version

A versão da API de Armazenamento utilizada para pedidos.

location_mode

O modo de localização que o cliente está a utilizar atualmente.

Por predefinição, será "principal". As opções incluem "principal" e "secundário".

primary_endpoint

O URL completo do ponto final primário.

primary_hostname

O nome do anfitrião do ponto final primário.

secondary_endpoint

O URL completo do ponto final secundário, se configurado.

Se não estiver disponível, será gerado um ValueError. Para especificar explicitamente um nome de anfitrião secundário, utilize o argumento opcional secondary_hostname palavra-chave na instanciação.

Exceções

secondary_hostname

O nome do anfitrião do ponto final secundário.

Se não estiver disponível, será Nenhum. Para especificar explicitamente um nome de anfitrião secundário, utilize o argumento opcional secondary_hostname palavra-chave na instanciação.

url

O URL de ponto final completo para esta entidade, incluindo o token de SAS, se utilizado.

Este pode ser o ponto final primário ou o ponto final secundário, dependendo do atual location_mode. :returns: o URL de ponto final completo para esta entidade, incluindo o token de SAS, se utilizado. :rtype: str