Поделиться через


FileSystemClient Класс

Клиент для взаимодействия с определенной файловой системой, даже если эта файловая система еще не существует.

Для операций, связанных с определенным каталогом или файлом в этой файловой системе, клиент каталога или файловый клиент можно получить с помощью get_directory_client функций или get_file_client .

Наследование
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixin
FileSystemClient

Конструктор

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

Параметры

account_url
str
Обязательно

Универсальный код ресурса (URI) учетной записи хранения.

file_system_name
str
Обязательно

Файловая система для каталога или файлов.

credential
значение по умолчанию: None

Учетные данные, с помощью которых выполняется проверка подлинности. Это необязательно, если URL-адрес учетной записи уже содержит маркер SAS. Значением может быть строка маркера SAS, экземпляр AzureSasCredential или AzureNamedKeyCredential из azure.core.credentials, общий ключ доступа учетной записи или экземпляр класса TokenCredentials из azure.identity. Если URI ресурса уже содержит маркер SAS, он будет игнорироваться в пользу явных учетных данных.

  • за исключением случаев AzureSasCredential, где конфликтующие маркеры SAS вызовет ValueError. При использовании экземпляра AzureNamedKeyCredential "имя" должно быть именем учетной записи хранения, а "ключ" — ключом учетной записи хранения.
api_version
str

Версия API хранилища, используемая для запросов. Значение по умолчанию — последняя версия службы, совместимая с текущим пакетом SDK. Установка более старой версии может привести к снижению совместимости функций.

Примеры

Получите FileSystemClient из существующего DataLakeServiceClient.


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

Переменные

url
str

Полный URL-адрес конечной точки для файловой системы, включая маркер SAS, если он используется.

primary_endpoint
str

Полный URL-адрес основной конечной точки.

primary_hostname
str

Имя узла основной конечной точки.

Методы

acquire_lease

Запрашивает новую аренду. Если у файловой системы нет активной аренды, служба DataLake создает аренду файловой системы и возвращает новый идентификатор аренды.

close

Этот метод позволяет закрыть сокеты, открытые клиентом. Его не нужно использовать при использовании с диспетчером контекста.

create_directory

Создание каталога

create_file

Создать файл

create_file_system

Создает новую файловую систему под указанной учетной записью.

Если файловая система с таким же именем уже существует, будет создан объект ResourceExistsError. Этот метод возвращает клиент, с которым будет взаимодействовать с вновь созданной файловой системой.

delete_directory

Помечает указанный путь для удаления.

delete_file

Помечает указанный файл для удаления.

delete_file_system

Помечает указанную файловую систему для удаления.

Файловая система и все содержащиеся в ней файлы позже удаляются во время сборки мусора. Если файловая система не найдена, возникает ошибка ResourceNotFoundError.

exists

Возвращает значение True, если файловая система существует, в противном случае возвращает значение False.

from_connection_string

Создайте FileSystemClient из строки подключения.

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

get_directory_client

Получение клиента для взаимодействия с указанным каталогом.

Каталог еще не должен существовать.

get_file_client

Получение клиента для взаимодействия с указанным файлом.

Файл еще не должен существовать.

get_file_system_access_policy

Возвращает разрешения для указанной файловой системы. Разрешения указывают, могут ли данные файловой системы быть общедоступными.

get_file_system_properties

Возвращает все определяемые пользователем метаданные и системные свойства для указанной файловой системы. Возвращаемые данные не включают список путей файловой системы.

get_paths

Возвращает генератор для перечисления путей (могут быть файлы или каталоги) в указанной файловой системе. Генератор будет отложенно следовать маркерам продолжения, возвращаемым службой.

list_deleted_paths

Возвращает генератор для вывода списка удаленных путей (файлов или каталогов) в указанной файловой системе. Генератор будет отложенно следовать маркерам продолжения, возвращаемым службой.

Новые возможности в версии 12.4.0: эта операция появилась в API версии 2020-06-12.

set_file_system_access_policy

Задает разрешения для указанной файловой системы или хранимых политик доступа, которые могут использоваться с подписанными URL-адресами. Разрешения указывают, доступны ли файлы в файловой системе для общего доступа.

set_file_system_metadata

Задает одну или несколько определяемых пользователем пар "имя-значение" для указанной файловой системы. Каждый вызов этой операции заменяет все существующие метаданные, присоединенные к файловой системе. Чтобы удалить все метаданные из файловой системы, вызовите эту операцию без диктовки метаданных.

acquire_lease

Запрашивает новую аренду. Если у файловой системы нет активной аренды, служба DataLake создает аренду файловой системы и возвращает новый идентификатор аренды.

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

Параметры

lease_duration
int
Обязательно

Указывает срок аренды в секундах или отрицательное число (-1) для бесконечной аренды. Конечная аренда может находиться в пределах от 15 до 60 секунд. Срок аренды нельзя изменить с помощью продления или изменения. Значение по умолчанию — -1 (бесконечная аренда).

lease_id
str
Обязательно

Идентификатор предлагаемой аренды в формате строки GUID. Служба DataLake возвращает значение 400 (недопустимый запрос), если предлагаемый идентификатор аренды имеет неправильный формат.

if_modified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс был изменен в указанное время.

if_unmodified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен в указанные дату и время.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

Объект DataLakeLeaseClient, который можно запустить в диспетчере контекста.

Возвращаемый тип

Примеры

Получение аренды файловой системы.


   # 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

Этот метод позволяет закрыть сокеты, открытые клиентом. Его не нужно использовать при использовании с диспетчером контекста.

close() -> None

create_directory

Создание каталога

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

Параметры

directory
str или DirectoryProperties
Обязательно

Каталог, с которым необходимо взаимодействовать. Это может быть имя каталога или экземпляр DirectoryProperties.

metadata
dict(str, str)
Обязательно

Пары «имя-значение», связанные с файлом как метаданные.

content_settings
ContentSettings

Объект ContentSettings, используемый для задания свойств пути.

lease
DataLakeLeaseClient или str

Требуется, если файл имеет активную аренду. Значением может быть объект DataLakeLeaseClient или идентификатор аренды в виде строки.

umask
str

Необязательный и допустимый, только если для учетной записи включено иерархическое пространство имен. При создании файла или каталога, а родительская папка не имеет ACL по умолчанию, umask ограничивает разрешения создаваемого файла или каталога. Полученное разрешение предоставляется p & ^u, где p — это разрешение, а вы — umask. Например, если p — 0777, а вы — 0057, то полученное разрешение — 0720. Разрешение по умолчанию — 0777 для каталога и 0666 для файла. Значение umask по умолчанию — 0027. Umask необходимо указать в восьмеричном нотации из 4 цифр (например, 0766).

owner
str

Владелец файла или каталога.

group
str

Группа владельцев файла или каталога.

acl
str

Задает права управления доступом POSIX к файлам и каталогам. Значение представляет собой разделенный запятыми список записей управления доступом. Каждая запись управления доступом (ACE) состоит из область, типа, идентификатора пользователя или группы и разрешений в формате "[область:][тип]:[id]:[permissions]".

lease_id
str

Идентификатор предлагаемой аренды в формате строки GUID. Служба DataLake возвращает значение 400 (недопустимый запрос), если предлагаемый идентификатор аренды имеет неправильный формат.

lease_duration
int

Указывает срок аренды в секундах или отрицательное число (-1) для бесконечной аренды. Конечная аренда может находиться в пределах от 15 до 60 секунд. Срок аренды нельзя изменить с помощью продления или изменения.

permissions
str

Необязательный и допустимый, только если для учетной записи включено иерархическое пространство имен. Задает разрешения на доступ к POSIX для владельца файла, группы владельцев файлов и т. д. Каждому классу может быть предоставлено разрешение на чтение, запись или выполнение. Также поддерживается залипание бита. Поддерживаются символьная (rwxrw-rw-) и 4-значная восьмеричная нотация (например, 0766).

if_modified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс был изменен в указанное время.

if_unmodified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен в указанные дату и время.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

DataLakeDirectoryClient

Примеры

Создайте каталог в файловой системе.


   directory_client = file_system_client.create_directory("mydirectory")

create_file

Создать файл

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

Параметры

file
str или FileProperties
Обязательно

Файл, с которым необходимо взаимодействовать. Это может быть имя файла или экземпляр FileProperties.

content_settings
ContentSettings
Обязательно

Объект ContentSettings, используемый для задания свойств пути.

metadata
dict(str, str)
Обязательно

Пары «имя-значение», связанные с файлом как метаданные.

lease
DataLakeLeaseClient или str

Требуется, если файл имеет активную аренду. Значением может быть объект DataLakeLeaseClient или идентификатор аренды в виде строки.

umask
str

Необязательный и допустимый, только если для учетной записи включено иерархическое пространство имен. При создании файла или каталога, а родительская папка не имеет ACL по умолчанию, umask ограничивает разрешения создаваемого файла или каталога. Полученное разрешение предоставляется p & ^u, где p — это разрешение, а вы — umask. Например, если p — 0777, а вы — 0057, то полученное разрешение — 0720. Разрешение по умолчанию — 0777 для каталога и 0666 для файла. Значение umask по умолчанию — 0027. Umask необходимо указать в восьмеричном нотации из 4 цифр (например, 0766).

owner
str

Владелец файла или каталога.

group
str

Группа владельцев файла или каталога.

acl
str

Задает права управления доступом POSIX к файлам и каталогам. Значение представляет собой разделенный запятыми список записей управления доступом. Каждая запись управления доступом (ACE) состоит из область, типа, идентификатора пользователя или группы и разрешений в формате "[область:][тип]:[id]:[permissions]".

lease_id
str

Идентификатор предлагаемой аренды в формате строки GUID. Служба DataLake возвращает значение 400 (недопустимый запрос), если предлагаемый идентификатор аренды имеет неправильный формат.

lease_duration
int

Указывает срок аренды в секундах или отрицательное число (-1) для бесконечной аренды. Конечная аренда может находиться в пределах от 15 до 60 секунд. Срок аренды нельзя изменить с помощью продления или изменения.

expires_on
datetime или int

Время для установки срока действия файла. Если тип expires_on — int, время истечения срока действия будет установлено в виде количества миллисекундах, прошедших с момента создания. Если тип expires_on — datetime, то для времени окончания срока действия будет задано абсолютное указанное время. Если сведения о часовом поясе не указаны, это будет интерпретироваться как UTC.

permissions
str

Необязательный и допустимый, только если для учетной записи включено иерархическое пространство имен. Задает разрешения на доступ к POSIX для владельца файла, группы владельцев файлов и т. д. Каждому классу может быть предоставлено разрешение на чтение, запись или выполнение. Также поддерживается залипание бита. Поддерживаются символьная (rwxrw-rw-) и 4-значная восьмеричная нотация (например, 0766).

if_modified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс был изменен в указанное время.

if_unmodified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен в указанные дату и время.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

DataLakeFileClient

Примеры

Создайте файл в файловой системе.


   file_client = file_system_client.create_file("myfile")

create_file_system

Создает новую файловую систему под указанной учетной записью.

Если файловая система с таким же именем уже существует, будет создан объект ResourceExistsError. Этот метод возвращает клиент, с которым будет взаимодействовать с вновь созданной файловой системой.

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

Параметры

metadata
dict(str, str)
Обязательно

Диктовка с парами "имя-значение", которые необходимо связать с файловой системой в качестве метаданных. Пример: {'Category':'test'}

public_access
PublicAccess
Обязательно

Чтобы указать, могут ли данные в файловой системе быть общедоступными, и уровень доступа.

encryption_scope_options
dict или EncryptionScopeOptions

Задает область шифрования по умолчанию, устанавливаемую в файловой системе и используемую для всех будущих операций записи.

Новые возможности в версии 12.9.0.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

Словарь заголовков ответов.

Возвращаемый тип

Примеры

Создание файловой системы в службе datalake.


   file_system_client.create_file_system()

delete_directory

Помечает указанный путь для удаления.

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

Параметры

directory
str или DirectoryProperties
Обязательно

Каталог, с которым необходимо взаимодействовать. Это может быть имя каталога или экземпляр DirectoryProperties.

lease
DataLakeLeaseClient или str

Требуется, если файл имеет активную аренду. Значением может быть объект LeaseClient или идентификатор аренды в виде строки.

if_modified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс был изменен в указанное время.

if_unmodified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен в указанные дату и время.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

DataLakeDirectoryClient

Примеры

Удаление каталога в файловой системе.


   file_system_client.delete_directory("mydirectory")

delete_file

Помечает указанный файл для удаления.

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

Параметры

file
str или FileProperties
Обязательно

Файл, с которым необходимо взаимодействовать. Это может быть имя файла или экземпляр FileProperties.

lease
DataLakeLeaseClient или str

Требуется, если файл имеет активную аренду. Значением может быть объект LeaseClient или идентификатор аренды в виде строки.

if_modified_since
datetime

Значение даты и времени. Azure ожидает, что переданное значение даты будет иметь формат UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она имеет значение UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс был изменен в указанное время.

if_unmodified_since
datetime

Значение даты и времени. Azure ожидает, что переданное значение даты будет иметь формат UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она имеет значение UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен в указанные дату и время.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.

Возвращаемое значение

DataLakeFileClient

Примеры

Удаление файла в файловой системе.


   file_system_client.delete_file("myfile")

delete_file_system

Помечает указанную файловую систему для удаления.

Файловая система и все содержащиеся в ней файлы позже удаляются во время сборки мусора. Если файловая система не найдена, возникает ошибка ResourceNotFoundError.

delete_file_system(**kwargs: Any) -> None

Параметры

lease
str или DataLakeLeaseClient

Если этот параметр указан, delete_file_system выполняется успешно, только если аренда файловой системы активна и соответствует этому идентификатору. Требуется, если у файловой системы есть активная аренда.

if_modified_since
datetime

Значение даты и времени. Azure ожидает, что переданное значение даты будет иметь формат UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она имеет значение UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс был изменен в указанное время.

if_unmodified_since
datetime

Значение даты и времени. Azure ожидает, что переданное значение даты будет иметь формат UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она имеет значение UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен в указанные дату и время.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.

Возвращаемый тип

Примеры

Удаление файловой системы в службе datalake.


   file_system_client.delete_file_system()

exists

Возвращает значение True, если файловая система существует, в противном случае возвращает значение False.

exists(**kwargs: Any) -> bool

Параметры

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.

Возвращаемое значение

Значение true, если файловая система существует, в противном случае — false.

Возвращаемый тип

from_connection_string

Создайте FileSystemClient из строки подключения.

: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

Параметры

conn_str
str
Обязательно

Строка подключения к учетной записи хранения Azure.

file_system_name
str
Обязательно

Имя файловой системы для взаимодействия.

credential
значение по умолчанию: None

Учетные данные для проверки подлинности. Это необязательно, если URL-адрес учетной записи уже содержит маркер SAS или строка подключения уже содержит значения общего ключа доступа. Это может быть строка маркера SAS, экземпляр AzureSasCredential или AzureNamedKeyCredential из azure.core.credentials, общий ключ доступа учетной записи или экземпляр класса TokenCredentials из azure.identity. Предоставленные здесь учетные данные будут иметь приоритет над учетными данными в строке подключения. При использовании экземпляра AzureNamedKeyCredential "name" должно быть именем учетной записи хранения, а "key" — ключом учетной записи хранения.

Примеры

Создание FileSystemClient из строки подключения


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

get_directory_client

Получение клиента для взаимодействия с указанным каталогом.

Каталог еще не должен существовать.

get_directory_client(directory: DirectoryProperties | str) -> DataLakeDirectoryClient

Параметры

directory
str или DirectoryProperties
Обязательно

Каталог, с которым нужно взаимодействовать. Это может быть имя каталога или экземпляр DirectoryProperties.

Возвращаемое значение

A DataLakeDirectoryClient.

Возвращаемый тип

Примеры

Получение клиента каталога для взаимодействия с определенным каталогом.


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

get_file_client

Получение клиента для взаимодействия с указанным файлом.

Файл еще не должен существовать.

get_file_client(file_path: FileProperties | str) -> DataLakeFileClient

Параметры

file_path
str или FileProperties
Обязательно

Файл, с которым необходимо взаимодействовать. Это может быть путь к файлу (из корневого каталога) или экземпляр FileProperties. Например. directory/subdirectory/file

Возвращаемое значение

A DataLakeFileClient.

Возвращаемый тип

Примеры

Получение файлового клиента для взаимодействия с определенным файлом.


   # 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

Возвращает разрешения для указанной файловой системы. Разрешения указывают, могут ли данные файловой системы быть общедоступными.

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

Параметры

lease
DataLakeLeaseClient или str

Если указано, операция завершается успешно, только если аренда файловой системы активна и соответствует этому идентификатору.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.

Возвращаемое значение

Доступ к сведениям о политике в словаре.

Возвращаемый тип

get_file_system_properties

Возвращает все определяемые пользователем метаданные и системные свойства для указанной файловой системы. Возвращаемые данные не включают список путей файловой системы.

get_file_system_properties(**kwargs: Any) -> FileSystemProperties

Параметры

lease
str или DataLakeLeaseClient

Если этот параметр указан, get_file_system_properties выполняется успешно, только если аренда файловой системы активна и соответствует этому идентификатору.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.

Возвращаемое значение

Свойства для указанной файловой системы в объекте файловой системы.

Возвращаемый тип

Примеры

Получение свойств в файловой системе.


   properties = file_system_client.get_file_system_properties()

get_paths

Возвращает генератор для перечисления путей (могут быть файлы или каталоги) в указанной файловой системе. Генератор будет отложенно следовать маркерам продолжения, возвращаемым службой.

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

Параметры

path
str
Обязательно

Фильтрует результаты, возвращая только пути по указанному пути.

recursive
Optional[bool]
Обязательно

Необязательный элемент. Задайте значение True для рекурсивного значения, False для итеративного.

max_results
int
Обязательно

Необязательное значение, указывающее максимальное количество возвращаемых элементов на страницу. Если значение не указано или больше 5000, ответ будет содержать до 5000 элементов на страницу.

upn

Необязательный элемент. Допустимо, только если для учетной записи включено иерархическое пространство имен. Если значение равно true, значения идентификаторов пользователей, возвращаемые в заголовках ответов x-ms-owner, x-ms-group и x-ms-acl, будут преобразованы из идентификаторов объектов Azure Active Directory в имена субъектов-пользователей. Если задано значение false, значения будут возвращены в виде идентификаторов объектов Azure Active Directory. Значением по умолчанию является false. Обратите внимание, что идентификаторы объектов групп и приложений не переводятся, так как они не имеют уникальных понятных имен.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

Итерируемый (автоматический) ответ PathProperties.

Возвращаемый тип

Примеры

Перечисление путей в файловой системе.


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

list_deleted_paths

Возвращает генератор для вывода списка удаленных путей (файлов или каталогов) в указанной файловой системе. Генератор будет отложенно следовать маркерам продолжения, возвращаемым службой.

Новые возможности в версии 12.4.0: эта операция появилась в API версии 2020-06-12.

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

Параметры

path_prefix
str

Фильтрует результаты, возвращая только пути по указанному пути.

results_per_page
int

Необязательное значение, указывающее максимальное количество возвращаемых элементов на странице. Если значение опущено или больше 5000, ответ будет содержать до 5000 элементов на странице.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

Итерируемый (автоматически разбиение по страницам) ответ DeletedPathProperties.

Возвращаемый тип

set_file_system_access_policy

Задает разрешения для указанной файловой системы или хранимых политик доступа, которые могут использоваться с подписанными URL-адресами. Разрешения указывают, доступны ли файлы в файловой системе для общего доступа.

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

Параметры

signed_identifiers
dict[str, AccessPolicy]
Обязательно

Словарь политик доступа для связывания с файловой системой. Словарь может содержать до 5 элементов. Пустой словарь очистит политики доступа, заданные в службе.

public_access
PublicAccess
Обязательно

Чтобы указать, могут ли данные в файловой системе быть общедоступными, и уровень доступа.

lease
DataLakeLeaseClient или str

Требуется, если файловая система имеет активную аренду. Значением может быть объект DataLakeLeaseClient или идентификатор аренды в виде строки.

if_modified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции, только если ресурс был изменен с указанной даты и времени.

if_unmodified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен в указанные дату и время.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

Обновление свойства файловой системы (Etag и последнее изменение).

Возвращаемый тип

set_file_system_metadata

Задает одну или несколько определяемых пользователем пар "имя-значение" для указанной файловой системы. Каждый вызов этой операции заменяет все существующие метаданные, присоединенные к файловой системе. Чтобы удалить все метаданные из файловой системы, вызовите эту операцию без диктовки метаданных.

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

Параметры

metadata
dict[str, str]
Обязательно

Дикт, содержащий пары "имя-значение", которые необходимо связать с файловой системой в качестве метаданных. Пример: {'category':'test'}

lease
str или DataLakeLeaseClient

Если этот параметр задан, set_file_system_metadata выполняется успешно, только если аренда файловой системы активна и соответствует этому идентификатору.

if_modified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс был изменен в указанное время.

if_unmodified_since
datetime

Значение даты и времени. Azure ожидает, что передаваемое значение даты должно быть в формате UTC. Если включен часовой пояс, все значения даты и времени, отличные от UTC, будут преобразованы в формат UTC. Если дата передается без сведений о часовом поясе, предполагается, что она будет в формате UTC. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен в указанные дату и время.

etag
str

Значение ETag или подстановочный знак (*). Используется для проверка, если ресурс изменился, и действует в соответствии с условием, заданным параметром match_condition.

match_condition
MatchConditions

Условие соответствия, используемое для etag.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

Обновленный в файловой системе тип свойства (Etag и последнее изменение).

Возвращаемый тип

Примеры

Настройка метаданных в файловой системе.


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

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

Атрибуты

api_version

Версия API хранилища, используемого для запросов.

location_mode

Режим расположения, который в настоящее время использует клиент.

По умолчанию это будет "primary". Варианты включают "primary" и "secondary".

primary_endpoint

Полный URL-адрес основной конечной точки.

primary_hostname

Имя узла основной конечной точки.

secondary_endpoint

Полный URL-адрес вторичной конечной точки, если он настроен.

Если он недоступен, будет вызван параметр ValueError. Чтобы явно указать дополнительное имя узла, используйте необязательный аргумент secondary_hostname ключевое слово при создании экземпляра.

Исключения

secondary_hostname

Имя узла вторичной конечной точки.

Если этот параметр недоступен, это будет Значение Нет. Чтобы явно указать дополнительное имя узла, используйте необязательный аргумент secondary_hostname ключевое слово при создании экземпляра.

url

Полный URL-адрес конечной точки для этой сущности, включая маркер SAS, если он используется.

Это может быть либо основная конечная точка, либо вторичная конечная точка в зависимости от текущей location_mode. :returns: полный URL-адрес конечной точки для этой сущности, включая маркер SAS, если используется. :rtype: str