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


DataLakeDirectoryClient Класс

Клиент для взаимодействия с каталогом DataLake, даже если каталог может еще не существовать.

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

Наследование
azure.storage.filedatalake._path_client.PathClient
DataLakeDirectoryClient

Конструктор

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

Параметры

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

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

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

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

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

Весь путь к каталогу. Например: {каталог в файловой системе}/{каталог для взаимодействия}

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 DataLakeDirectoryClient
   DataLakeDirectoryClient.from_connection_string(connection_string, "myfilesystem", "mydirectory")

Переменные

url
str

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

primary_endpoint
str

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

primary_hostname
str

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

Методы

acquire_lease

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

close

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

create_directory

Создайте новый каталог.

create_file

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

create_sub_directory

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

delete_directory

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

delete_sub_directory

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

exists

Возвращает значение True, если каталог существует, и false в противном случае.

from_connection_string

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

get_access_control
get_directory_properties

Возвращает все определяемые пользователем метаданные, стандартные свойства HTTP и системные свойства для каталога. Он не возвращает содержимое каталога.

get_file_client

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

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

get_sub_directory_client

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

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

remove_access_control_recursive

Удаляет контроль доступа пути и вложенных путей.

rename_directory

Переименуйте исходный каталог.

set_access_control

Задайте владельца, группу, разрешения или список управления доступом для пути.

set_access_control_recursive

Задает контроль доступа для пути и вложенных путей.

set_http_headers

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

Если для content_settings задано одно свойство, все свойства будут переопределены.

set_metadata

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

update_access_control_recursive

Изменяет контроль доступа пути и вложенных путей.

acquire_lease

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

acquire_lease(lease_duration: int | None = -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, который можно запустить в диспетчере контекста.

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

close

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

close() -> None

create_directory

Создайте новый каталог.

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

Параметры

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.

cpk
CustomerProvidedEncryptionKey

Шифрует данные на стороне службы с помощью заданного ключа. Использование предоставленных клиентом ключей должно выполняться по протоколу HTTPS.

timeout
int

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

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

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

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

Примеры

Создайте каталог.


   directory_client.create_directory()

create_file

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

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

Параметры

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

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

content_settings
ContentSettings

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

metadata

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

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.

cpk
CustomerProvidedEncryptionKey

Шифрует данные на стороне службы с помощью заданного ключа. Использование предоставленных клиентом ключей должно выполняться по протоколу HTTPS.

timeout
int

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

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

DataLakeFileClient

create_sub_directory

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

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

Параметры

sub_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.

cpk
CustomerProvidedEncryptionKey

Шифрует данные на стороне службы с помощью заданного ключа. Использование ключей, предоставленных клиентом, должно выполняться по протоколу HTTPS.

timeout
int

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

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

DataLakeDirectoryClient для подкаталога.

delete_directory

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

delete_directory(**kwargs) -> None

Параметры

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. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

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

Нет

Примеры

Удаление каталога.


   new_directory.delete_directory()

delete_sub_directory

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

delete_sub_directory(sub_directory: DirectoryProperties | str, **kwargs) -> DataLakeDirectoryClient

Параметры

sub_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 для подкаталога

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

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

from_connection_string(conn_str: str, file_system_name: str, directory_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. Если URI ресурса уже содержит маркер SAS, он будет игнорироваться в пользу явных учетных данных.

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

Имя каталога для взаимодействия. Каталог находится в файловой системе.

credential
Обязательно

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

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

DataLakeDirectoryClient

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

get_access_control

get_access_control(upn: bool | None = None, **kwargs) -> Dict[str, Any]

Параметры

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

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

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. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

response dict

ответный дикт.

get_directory_properties

Возвращает все определяемые пользователем метаданные, стандартные свойства HTTP и системные свойства для каталога. Он не возвращает содержимое каталога.

get_directory_properties(**kwargs: Any) -> DirectoryProperties

Параметры

lease
DataLakeLeaseClient или str

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

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.

cpk
CustomerProvidedEncryptionKey

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

timeout
int

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

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

Примеры

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


   props = new_directory.get_directory_properties()

get_file_client

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

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

get_file_client(file: FileProperties | str) -> DataLakeFileClient

Параметры

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

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

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

A DataLakeFileClient.

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

get_sub_directory_client

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

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

get_sub_directory_client(sub_directory: DirectoryProperties | str) -> DataLakeDirectoryClient

Параметры

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

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

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

A DataLakeDirectoryClient.

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

remove_access_control_recursive

Удаляет контроль доступа пути и вложенных путей.

remove_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

Параметры

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

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

progress_hook
<xref:func>(AccessControlChanges)

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

continuation_token
str

Необязательный маркер продолжения, который можно использовать для возобновления ранее остановленной операции.

batch_size
int

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

max_batches
int

Необязательный элемент. Определяет максимальное количество пакетов, которые может выполнять одна операция изменения контроль доступа. Если максимальное значение достигнуто до обработки всех вложенных путей, то для возобновления работы можно использовать маркер продолжения. Пустое значение указывает, что максимальное количество пакетов в несвязанных и операция продолжается до конца.

continue_on_failure
bool

Если задано значение False, операция быстро завершится при возникновении ошибок пользователя (4XX). Если задано значение True, операция проигнорирует ошибки пользователя и продолжит операцию с другими вложенными сущностями каталога. Маркер продолжения будет возвращен, только если continue_on_failure имеет значение True в случае ошибок пользователя. Если значение не задано, значение по умолчанию — False.

timeout
int

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

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

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

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

Исключения

Пользователь может перезапустить операцию, используя continuation_token поле AzureError, если маркер доступен.

rename_directory

Переименуйте исходный каталог.

rename_directory(new_name: str, **kwargs: Any) -> DataLakeDirectoryClient

Параметры

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

имя нового каталога, в который пользователь хочет переименовать. Значение должно иметь следующий формат: "{filesystem}/{directory}/{subdirectory}".

source_lease
DataLakeLeaseClient или str

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

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.

source_if_modified_since
datetime

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

source_if_unmodified_since
datetime

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

source_etag
str

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

source_match_condition
MatchConditions

Условие соответствия исходного кода, используемое для etag.

timeout
int

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

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

DataLakeDirectoryClient

Примеры

Переименуйте исходный каталог.


   new_dir_name = "testdir2"
   print("Renaming the directory named '{}' to '{}'.".format(dir_name, new_dir_name))
   new_directory = directory_client\
       .rename_directory(new_name=directory_client.file_system_name + '/' + new_dir_name)

set_access_control

Задайте владельца, группу, разрешения или список управления доступом для пути.

set_access_control(owner: str | None = None, group: str | None = None, permissions: str | None = None, acl: str | None = None, **kwargs) -> Dict[str, str | datetime]

Параметры

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

Необязательный элемент. Владелец файла или каталога.

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

Необязательный элемент. Группа владельцев файла или каталога.

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

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

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

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

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. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.

response dict

дикт ответа (Etag и последнее изменение).

set_access_control_recursive

Задает контроль доступа для пути и вложенных путей.

set_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

Параметры

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

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

progress_hook
<xref:func>(AccessControlChanges)

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

continuation_token
str

Необязательный маркер продолжения, который можно использовать для возобновления ранее остановленной операции.

batch_size
int

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

max_batches
int

Необязательный элемент. Определяет максимальное количество пакетов, которые может выполнять одна операция изменения контроль доступа. Если максимальное значение достигнуто до обработки всех вложенных путей, для возобновления работы можно использовать маркер продолжения. Пустое значение указывает, что максимальное количество пакетов в несвязанных и операция продолжается до конца.

continue_on_failure
bool

Если задано значение False, операция будет быстро завершена при обнаружении ошибок пользователя (4XX). Если задано значение True, операция проигнорирует ошибки пользователя и продолжит операцию с другими вложенными сущностями каталога. Маркер продолжения возвращается только в том случае, если continue_on_failure имеет значение True в случае ошибок пользователя. Если значение не задано, значение по умолчанию — False.

timeout
int

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

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

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

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

Исключения

Пользователь может перезапустить операцию, используя continuation_token поле AzureError, если маркер доступен.

set_http_headers

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

Если для content_settings задано одно свойство, все свойства будут переопределены.

set_http_headers(content_settings: ContentSettings | None = None, **kwargs) -> Dict[str, Any]

Параметры

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

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

lease
DataLakeLeaseClient или str

Если этот параметр указан, 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. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.

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

File/directory-updated property dict (Etag и last modified)

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

set_metadata

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

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

Параметры

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

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

lease
DataLakeLeaseClient или str

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

cpk
CustomerProvidedEncryptionKey

Шифрует данные на стороне службы с помощью заданного ключа. Использование ключей, предоставленных клиентом, должно выполняться по протоколу HTTPS.

timeout
int

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

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

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

update_access_control_recursive

Изменяет контроль доступа пути и вложенных путей.

update_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

Параметры

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

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

progress_hook
<xref:func>(AccessControlChanges)

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

continuation_token
str

Необязательный маркер продолжения, который можно использовать для возобновления ранее остановленной операции.

batch_size
int

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

max_batches
int

Необязательный элемент. Определяет максимальное количество пакетов, которые может выполнять одна операция изменения контроль доступа. Если максимальное значение достигнуто до обработки всех вложенных путей, для возобновления работы можно использовать маркер продолжения. Пустое значение указывает, что максимальное количество пакетов в несвязанных и операция продолжается до конца.

continue_on_failure
bool

Если задано значение False, операция быстро завершится при возникновении ошибок пользователя (4XX). Если задано значение True, операция проигнорирует ошибки пользователя и продолжит операцию с другими вложенными сущностями каталога. Маркер продолжения будет возвращен, только если continue_on_failure имеет значение True в случае ошибок пользователя. Если значение не задано, значение по умолчанию — False.

timeout
int

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

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

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

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

Исключения

Пользователь может перезапустить операцию, используя continuation_token поле AzureError, если маркер доступен.

Атрибуты

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