你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
FileSystemClient 类
要与特定文件系统交互的客户端,即使该文件系统可能尚不存在也是如此。
对于与此文件系统中的特定目录或文件相关的操作,可以使用 或 函数检索 get_directory_client 目录客户端或 get_file_client 文件客户端。
- 继承
-
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixinFileSystemClient
构造函数
FileSystemClient(account_url: str, file_system_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
参数
- credential
用于进行身份验证的凭据。 如果帐户 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, (无限租约) 。
- 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
参数
- content_settings
- ContentSettings
用于设置路径属性的 ContentSettings 对象。
- lease
- DataLakeLeaseClient 或 str
如果文件具有活动租约,则为必需。 值可以是 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
参数
- lease
- DataLakeLeaseClient 或 str
如果文件具有活动租约,则为必需。 值可以是 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的类型为 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]
参数
- encryption_scope_options
- dict 或 EncryptionScopeOptions
指定要在文件系统上设置的默认加密范围,并将其用于将来的所有写入。
版本 12.9.0 中的新增功能。
- timeout
- int
设置操作的服务器端超时时间(以秒为单位)。 有关详细信息,请参阅 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations 。 不会在客户端上跟踪或验证此值。 若要配置客户端网络超时,请参阅 此处。
返回
响应标头的字典。
返回类型
示例
在 datalake 服务中创建文件系统。
file_system_client.create_file_system()
delete_directory
标记要删除的指定路径。
delete_directory(directory: DirectoryProperties | str, **kwargs) -> DataLakeDirectoryClient
参数
- lease
- DataLakeLeaseClient 或 str
如果文件具有活动租约,则为必需。 值可以是 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
参数
- lease
- DataLakeLeaseClient 或 str
如果文件具有活动租约,则为必需。 值可以是 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
- str 或 DataLakeLeaseClient
如果指定,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
参数
- credential
用于进行身份验证的凭据。 如果帐户 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
参数
返回
DataLakeDirectoryClient。
返回类型
示例
让目录客户端与特定目录交互。
# Get the DataLakeDirectoryClient from the FileSystemClient to interact with a specific file
directory_client = file_system_client.get_directory_client("mynewdirectory")
get_file_client
获取客户端以与指定文件交互。
该文件不需要已经存在。
get_file_client(file_path: FileProperties | str) -> DataLakeFileClient
参数
- file_path
- str 或 FileProperties
要与之交互的文件。 这可以是从根目录) (文件的路径,也可以是 FileProperties 的实例。例如directory/subdirectory/file
返回
DataLakeFileClient。
返回类型
示例
让文件客户端与特定文件交互。
# Get the FileClient from the FileSystemClient to interact with a specific file
file_client = file_system_client.get_file_client("mynewfile")
get_file_system_access_policy
获取指定文件系统的权限。 权限指示是否可以公开访问文件系统数据。
get_file_system_access_policy(**kwargs: Any) -> Dict[str, Any]
参数
- lease
- DataLakeLeaseClient 或 str
如果指定,则仅当文件系统的租约处于活动状态且与此 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
- str 或 DataLakeLeaseClient
如果指定,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]
参数
- 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]
参数
- lease
- DataLakeLeaseClient 或 str
如果文件系统具有活动租约,则为必需。 值可以是 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]
参数
- lease
- str 或 DataLakeLeaseClient
如果指定,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