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


DataLakeServiceClient Класс

Клиент для взаимодействия со службой DataLake на уровне учетной записи.

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

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

Конструктор

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

Параметры

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

URL-адрес учетной записи хранения DataLake. Любые другие сущности, включенные в путь URL-адреса (например, файловая система или файл), будут удалены. Этот URL-адрес можно при необходимости пройти проверку подлинности с помощью маркера SAS.

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

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

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

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

Примеры

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


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

Создание DataLakeServiceClient с учетными данными Azure Identity.


   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)

Переменные

url
str

Полный URL-адрес конечной точки для конечной точки службы datalake.

primary_endpoint
str

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

primary_hostname
str

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

Методы

close

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

create_file_system

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

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

delete_file_system

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

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

from_connection_string

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

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

get_directory_client

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

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

get_file_client

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

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

get_file_system_client

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

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

get_service_properties

Возвращает свойства службы datalake учетной записи хранения, включая Аналитика Службы хранилища Azure.

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

get_user_delegation_key

Получите ключ делегирования пользователя для подписи маркеров SAS. Для успешного выполнения этого запроса в объекте службы должны присутствовать учетные данные маркера.

list_file_systems

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

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

set_service_properties

Задает свойства службы Datalake учетной записи хранения, включая Аналитика Службы хранилища Azure.

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

Если элемент (например, analytics_logging) остается равным None, существующие параметры службы для этой функции сохраняются.

undelete_file_system

Восстанавливает обратимо удаленную файловую систему.

Операция будет успешной, только если используется в течение указанного числа дней, заданного в политике хранения удаления.

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

close

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

close() -> None

create_file_system

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

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

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

Параметры

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

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

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.


   datalake_service_client.create_file_system("filesystem")

delete_file_system

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

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

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

Параметры

file_system
str или FileSystemProperties
Обязательно

Удаляемая файловая система. Это может быть имя файловой системы или экземпляр FileSystemProperties.

lease
DataLakeLeaseClient или str

Если этот параметр указан, 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.


   datalake_service_client.delete_file_system("filesystem")

from_connection_string

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

: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

Параметры

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

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

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

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

Примеры

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


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

get_directory_client

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

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

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

Параметры

file_system
str или FileSystemProperties
Обязательно

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

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

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

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

A DataLakeDirectoryClient.

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

Примеры

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


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

get_file_client

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

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

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

Параметры

file_system
str или FileSystemProperties
Обязательно

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

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

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

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

A DataLakeFileClient.

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

Примеры

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


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

get_file_system_client

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

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

get_file_system_client(file_system: FileSystemProperties | str) -> FileSystemClient

Параметры

file_system
str или FileSystemProperties
Обязательно

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

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

A FileSystemClient.

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

Примеры

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


   # 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

Возвращает свойства службы datalake учетной записи хранения, включая Аналитика Службы хранилища Azure.

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

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

Параметры

timeout
int

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

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

Объект, содержащий свойства службы datalake, такие как ведение журнала аналитики, метрики по часам в минуту, правила cors и т. д.

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

get_user_delegation_key

Получите ключ делегирования пользователя для подписи маркеров SAS. Для успешного выполнения этого запроса в объекте службы должны присутствовать учетные данные маркера.

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

Параметры

key_start_time
datetime
Обязательно

Значение даты и времени. Указывает, когда ключ становится действительным.

key_expiry_time
datetime
Обязательно

Значение даты и времени. Указывает, когда ключ перестает быть действительным.

timeout
int

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

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

Ключ делегирования пользователя.

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

Примеры

Получите ключ делегирования пользователя из клиента службы 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

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

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

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

Параметры

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

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

include_metadata
bool
Обязательно

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

results_per_page
int

Максимальное количество имен файловой системы для каждого вызова API. Если в запросе не указано, сервер вернет до 5000 элементов на страницу.

timeout
int

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

include_deleted
bool

Указывает, что удаленные файловые системы будут возвращены в ответе. Это предназначено для учетной записи с поддержкой восстановления файловой системы. Значение по умолчанию равно False. .. versionadded:: 12.3.0

include_system
bool

Флаг, указывающий, что системные файловые системы должны быть включены. .. versionadded:: 12.6.0

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

Итерируемая (автоматическая подкачки) свойства FileSystemProperties.

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

Примеры

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


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

set_service_properties

Задает свойства службы Datalake учетной записи хранения, включая Аналитика Службы хранилища Azure.

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

Если элемент (например, analytics_logging) остается равным None, существующие параметры службы для этой функции сохраняются.

set_service_properties(**kwargs: Any) -> None

Параметры

analytics_logging

Группирует параметры ведения журнала Azure Analytics.

hour_metrics

Параметры часовых метрик предоставляют сводку статистики запросов, сгруппированных по API в почасовых статистических выражениях.

minute_metrics

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

cors

В список можно включить до пяти элементов CorsRule. Если указан пустой список, все правила CORS будут удалены, а CORS будет отключен для службы.

target_version
str

Указывает версию по умолчанию, используемую для запросов, если версия входящего запроса не указана.

delete_retention_policy

Политика хранения удаления указывает, следует ли сохранять удаленные файлы или каталоги. Он также указывает количество дней и версий файла или каталога для хранения.

static_website

Указывает, включена ли функция статического веб-сайта, а если да, то указывает на документ индекса и документ ошибки 404 для использования.

timeout
int

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

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

undelete_file_system

Восстанавливает обратимо удаленную файловую систему.

Операция будет успешной, только если используется в течение указанного числа дней, заданного в политике хранения удаления.

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

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

Параметры

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

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

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

Указывает версию удаленной файловой системы для восстановления.

timeout
int

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

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

Восстановленный solft-deleted FileSystemClient.

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

Атрибуты

api_version

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

location_mode

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

По умолчанию это будет "основной". Возможные варианты: "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