你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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 的实例或 azure.core.credentials 中的 AzureNamedKeyCredential、帐户共享访问密钥或 azure.identity 中的 TokenCredentials 类的实例。 如果资源 URI 已包含 SAS 令牌,则会忽略此令牌,转而使用显式凭据

  • AzureSasCredential 的情况除外,其中冲突的 SAS 令牌将引发 ValueError。 如果使用 AzureNamedKeyCredential 的实例,则“name”应为存储帐户名称,“密钥”应为存储帐户密钥。
api_version
str

用于请求的存储 API 版本。 默认值是与当前 SDK 兼容的最新服务版本。 设置为较旧版本可能会导致功能兼容性降低。

示例

从现有 DataLakeServiceClient 获取 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")

变量

url
str

文件系统的完整终结点 URL,包括 SAS 令牌(如果使用)。

primary_endpoint
str

完整的主终结点 URL。

primary_hostname
str

主终结点的主机名。

方法

acquire_lease

请求新的租约。 如果文件系统没有活动租约,DataLake 服务将在文件系统上创建租约并返回新的租约 ID。

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

设置可能与共享访问签名一起使用的指定文件系统或存储访问策略的权限。 权限指示是否可以公开访问文件系统中的文件。

set_file_system_metadata

为指定的文件系统设置一个或多个用户定义的名称-值对。 每次调用此操作都会替换附加到文件系统的所有现有元数据。 若要从文件系统中删除所有元数据,请调用此操作,不带元数据听写。

acquire_lease

请求新的租约。 如果文件系统没有活动租约,DataLake 服务将在文件系统上创建租约并返回新的租约 ID。

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

参数

lease_duration
int
必需

指定租约的持续时间(秒),或者指定 -1 以表示永不过期的租约。 有限期租约在 15 到 60 秒之间。 不能使用续订或更改来更改租约持续时间。 默认值为 -1, (无限租约) 。

lease_id
str
必需

建议的租约 ID,采用 GUID 字符串格式。 如果建议的租约 ID 格式不正确,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
strDirectoryProperties
必需

要与之交互的目录。 这可以是目录的名称,也可以是 DirectoryProperties 的实例。

metadata
dict(str, str)
必需

作为元数据、与文件关联的名称-值对。

content_settings
ContentSettings

用于设置路径属性的 ContentSettings 对象。

lease
DataLakeLeaseClientstr

如果文件具有活动租约,则为必需。 值可以是 DataLakeLeaseClient 对象,也可以是作为字符串的租用 ID。

umask
str

可选,并且仅在为帐户启用分层命名空间时有效。 创建文件或目录且父文件夹没有默认 ACL 时,umask 会限制要创建的文件或目录的权限。 生成的权限由 p & ^u 提供,其中 p 是权限,而您是 umask。 例如,如果 p 为 0777,而您为 0057,则生成的权限为 0720。 目录的默认权限为 0777,文件的默认权限为 0666。 默认 umask 为 0027。 必须使用 4 位八进制表示法 (指定 umask,例如 0766) 。

owner
str

文件或目录的所有者。

group
str

文件或目录的拥有组。

acl
str

设置对文件和目录的 POSIX 访问控制权限。 该值是访问控制项的逗号分隔列表。 每个访问控制项 (ACE) 由范围、类型、用户或组标识符以及格式为“[scope:][type]:[id]:[permissions]”的权限组成。

lease_id
str

建议的租约 ID,采用 GUID 字符串格式。 如果建议的租约 ID 格式不正确,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
strFileProperties
必需

要与之交互的文件。 这可以是文件的名称,也可以是 FileProperties 的实例。

content_settings
ContentSettings
必需

用于设置路径属性的 ContentSettings 对象。

metadata
dict(str, str)
必需

作为元数据、与文件关联的名称-值对。

lease
DataLakeLeaseClientstr

如果文件具有活动租约,则为必需。 值可以是 DataLakeLeaseClient 对象,也可以是作为字符串的租用 ID。

umask
str

可选,并且仅在为帐户启用分层命名空间时有效。 创建文件或目录且父文件夹没有默认 ACL 时,umask 会限制要创建的文件或目录的权限。 生成的权限由 p & ^u 提供,其中 p 是权限,而您是 umask。 例如,如果 p 为 0777,而您为 0057,则生成的权限为 0720。 目录的默认权限为 0777,文件的默认权限为 0666。 默认 umask 为 0027。 必须使用 4 位八进制表示法 (指定 umask,例如 0766) 。

owner
str

文件或目录的所有者。

group
str

文件或目录的拥有组。

acl
str

设置对文件和目录的 POSIX 访问控制权限。 该值是访问控制项的逗号分隔列表。 每个访问控制项 (ACE) 由范围、类型、用户或组标识符以及格式为“[scope:][type]:[id]:[permissions]”的权限组成。

lease_id
str

建议的租约 ID,采用 GUID 字符串格式。 如果建议的租约 ID 格式不正确,DataLake 服务将返回 400 (无效请求) 。

lease_duration
int

指定租约的持续时间(秒),或者指定 -1 以表示永不过期的租约。 有限期租约在 15 到 60 秒之间。 不能使用续订或更改来更改租约持续时间。

expires_on
datetimeint

将文件设置为过期的时间。 如果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)
必需

具有名称/值对的 dict,这些名称/值对作为元数据与文件系统相关联。 示例: {'Category':'test'}

public_access
PublicAccess
必需

指定是否可以公开访问文件系统中的数据和访问级别。

encryption_scope_options
dictEncryptionScopeOptions

指定要在文件系统上设置的默认加密范围,并将其用于将来的所有写入。

版本 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
strDirectoryProperties
必需

要与之交互的目录。 这可以是目录的名称,也可以是 DirectoryProperties 的实例。

lease
DataLakeLeaseClientstr

如果文件具有活动租约,则为必需。 值可以是 LeaseClient 对象,也可以是作为字符串的租用 ID。

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
strFileProperties
必需

要与之交互的文件。 这可以是文件的名称,也可以是 FileProperties 的实例。

lease
DataLakeLeaseClientstr

如果文件具有活动租约,则为必需。 值可以是 LeaseClient 对象,也可以是租约 ID 作为字符串。

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
strDataLakeLeaseClient

如果指定,delete_file_system仅当文件系统的租约处于活动状态且与此 ID 匹配时才会成功。 如果文件系统具有活动租约,则为必需。

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 令牌字符串、azure.core.credentials 中的 AzureSasCredential 或 AzureNamedKeyCredential 的实例、帐户共享访问密钥或 azure.identity 中的 TokenCredentials 类的实例。 此处提供的凭据优先于连接字符串中的凭据。 如果使用 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
strDirectoryProperties
必需

要与之交互的目录。 这可以是目录的名称,也可以是 DirectoryProperties 的实例。

返回

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
strFileProperties
必需

要与之交互的文件。 这可以是从根目录) (文件的路径,也可以是 FileProperties 的实例。例如directory/subdirectory/file

返回

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
DataLakeLeaseClientstr

如果指定,则仅当文件系统的租约处于活动状态且与此 ID 匹配时,该操作才会成功。

timeout
int

设置操作的服务器端超时(以秒为单位)。 有关详细信息,请参阅 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回

访问 dict 中的策略信息。

返回类型

get_file_system_properties

返回指定文件系统的所有用户定义的元数据和系统属性。 返回的数据不包括文件系统的路径列表。

get_file_system_properties(**kwargs: Any) -> FileSystemProperties

参数

lease
strDataLakeLeaseClient

如果指定,get_file_system_properties仅当文件系统的租约处于活动状态且与此 ID 匹配时才会成功。

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
必需

一个可选值,该值指定要每页返回的最大项数。 如果省略或大于 5,000,则响应将包含每页最多 5,000 个项目。

upn

可选。 仅当为帐户启用分层命名空间时有效。 如果为“true”,则 x-ms-owner、x-ms-group 和 x-ms-acl 响应标头中返回的用户标识值将从 Azure Active Directory 对象 ID 转换为用户主体名称。 如果为“false”,则值将作为 Azure Active Directory 对象 ID 返回。 默认值为 false。 请注意,不会转换组和应用程序对象 ID,因为它们没有唯一的友好名称。

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

一个可选值,该值指定要每页返回的最大项数。 如果省略或大于 5,000,则响应将包含每页最多 5,000 个项目。

timeout
int

设置操作的服务器端超时(以秒为单位)。 有关详细信息,请参阅 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回

可迭代 (自动分页) DeletedPathProperties 响应。

返回类型

set_file_system_access_policy

设置可能与共享访问签名一起使用的指定文件系统或存储访问策略的权限。 权限指示是否可以公开访问文件系统中的文件。

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
DataLakeLeaseClientstr

如果文件系统具有活动租约,则为必需。 值可以是 DataLakeLeaseClient 对象,也可以是租约 ID 作为字符串。

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 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回

文件系统更新的属性 dict (Etag 和上次修改) 。

返回类型

set_file_system_metadata

为指定的文件系统设置一个或多个用户定义的名称-值对。 每次调用此操作都会替换附加到文件系统的所有现有元数据。 若要从文件系统中删除所有元数据,请调用此操作,不带元数据听写。

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

参数

metadata
dict[str, str]
必需

包含要作为元数据与文件系统关联的名称/值对的 dict。 示例:{'category':'test'}

lease
strDataLakeLeaseClient

如果指定,set_file_system_metadata仅当文件系统的租约处于活动状态且与此 ID 匹配时才会成功。

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 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处

返回

文件系统更新的属性 dict (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”和“secondary”。

primary_endpoint

完整的主终结点 URL。

primary_hostname

主终结点的主机名。

secondary_endpoint

完整的辅助终结点 URL(如果已配置)。

如果不可用,将引发 ValueError。 若要显式指定辅助主机名,请在实例化时使用可选的 secondary_hostname 关键字 (keyword) 参数。

例外

secondary_hostname

辅助终结点的主机名。

如果不可用,则此项将为“无”。 若要显式指定辅助主机名,请在实例化时使用可选的 secondary_hostname 关键字 (keyword) 参数。

url

此实体的完整终结点 URL,包括 SAS 令牌(如果使用)。

这可以是主终结点,也可以是辅助终结点,具体取决于当前 location_mode。 :returns:此实体的完整终结点 URL,包括 SAS 令牌(如果使用)。 :rtype:str