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

创建目录

Create Directory 操作在指定的共享或父目录下创建一个新目录。 目录资源包括该目录的属性。 它不包括目录包含的文件或子目录的列表。

协议可用性

已启用文件共享协议 可用
SMB 是
NFS 无

请求

可以按如下所示构造 Create Directory 请求。 建议使用 HTTPS。

方法 请求 URI HTTP 版本
PUT https://myaccount.file.core.windows.net/myshare/myparentdirectorypath/mydirectory?restype=directory HTTP/1.1

将请求 URI 中的路径组件替换为你自己的路径组件,如下表所示:

路径组件 描述
myaccount 存储帐户的名称。
myshare 文件共享的名称。
myparentdirectorypath 自选。 要在其中创建 mydirectory 父目录的路径。 如果省略父目录路径,则将在指定的共享中创建该目录。

如果指定了父目录,则必须先存在于共享中,然后才能创建 mydirectory
mydirectory 要创建的目录的名称。

有关路径命名限制的详细信息,请参阅 名称和引用共享、目录、文件和元数据

URI 参数

可以在请求 URI 上指定以下附加参数。

参数 描述
timeout 自选。 timeout 参数以秒为单位表示。 有关详细信息,请参阅 设置文件服务操作的超时

请求正文

没有。

请求标头

下表描述了必需和可选的请求标头:

参数 描述
Authorization 必填。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅 授权对 Azure 存储的请求。
Datex-ms-date 必填。 指定请求的协调世界时(UTC)时间。 有关详细信息,请参阅 授权对 Azure 存储的请求。
x-ms-version 所有授权请求都是必需的。 指定要用于此请求的操作的版本。 有关详细信息,请参阅 azure 存储服务版本控制。
x-ms-meta-name:value 自选。 版本 2015-02-21 或更高版本。 要作为元数据与目录关联的名称/值对。

元数据名称必须遵循 C# 标识符的命名规则。
x-ms-file-permission: { inherit ¦ <SDDL> ¦ <binary> } 在版本 2019-02-02 到 2021-04-10 中,如果未指定 x-ms-file-permission-key,则需要此标头。 从版本 2021-06-08 起,这两个标头都是可选的。 此权限是在 base64 编码 二进制安全描述符格式安全描述符定义语言(SDDL) 或(版本 2024-11-04 或更高版本)中指定的目录的安全描述符。 可以指定要用于 x-ms-file-permission-format 标头的格式。 如果权限大小超过 8 kibibytes(KiB),则可以使用此标头。 否则,可以使用 x-ms-file-permission-key。 如果已指定,则必须具有所有者、组和 可自由访问控制列表(DACL)。 可以传递 inherit 的值,以便从父目录继承。

注意:可以指定 x-ms-file-permissionx-ms-file-permission-key。 如果未指定两个标头,则使用 inherit 的默认值。
x-ms-file-permission-format: { sddl ¦ binary } 自选。 版本 2024-11-04 或更高版本。 指定传入 x-ms-file-permission 的值是采用 SDDL 还是二进制格式。 如果 x-ms-file-permission-key 设置为 inherit,则不应设置此标头。 如果 x-ms-file-permission-key 设置为除 inherit之外的任何其他值,并且未设置此标头,则使用 sddl 的默认值。
x-ms-file-permission-key: <PermissionKey> 要为目录设置的权限的键。 在版本 2019-02-02 到 2021-04-10 中,如果未指定 x-ms-file-permission,则需要此标头。 从版本 2021-06-08 起,这两个标头都是可选的。 可以使用 Create-Permission API 创建此密钥。

注意:可以指定 x-ms-file-permissionx-ms-file-permission-key。 如果未指定两个标头,则 inherit 的默认值用于 x-ms-file-permission 标头。
x-ms-file-attributes 必需:版本 2019-02-02 到 2021-04-10。 可选:版本 2021-06-08 及更高版本。 要设置在目录中的文件系统属性。 请参阅可用属性的列表。 默认值为 Directory。
x-ms-file-creation-time: { now ¦ <DateTime> } 必需:版本 2019-02-02 到 2021-04-10。 可选:版本 2021-06-08 及更新。 目录的协调世界时 (UTC) 创建时间属性。 可以使用 now 值来指示请求的时间。 默认值为 now
x-ms-file-last-write-time: { now ¦ <DateTime> } 必需:版本 2019-02-02 到 2021-04-10。 可选:版本 2021-06-08 或更高版本。 协调世界时 (UTC) 上次写入目录的属性。 可以使用 now 值来指示请求的时间。 默认值为 now
x-ms-client-request-id 自选。 提供客户端生成的不透明值,该值具有配置日志记录时日志中记录的 1-kibibyte (KiB) 字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure 文件
x-ms-file-change-time: { now ¦ <DateTime> } 自选。 目录的协调世界时(UTC)更改时间属性,格式为 ISO 8601。 版本 2021-06-08 及更新。 可以使用 now 值来指示请求的时间。 默认值为 now
x-ms-file-request-intent 如果需要 Authorization 标头指定 OAuth 令牌。 可接受的值为 backup。 此标头指定,如果 Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action 包含在分配给使用 Authorization 标头授权的标识的 RBAC 策略中,则应授予 Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action。 适用于版本 2022-11-02 及更高版本。
x-ms-allow-trailing-dot: { <Boolean> } 自选。 版本 2022-11-02 及更高版本。 布尔值指定是否应剪裁请求 URL 中存在的尾随点。 有关详细信息,请参阅 命名和引用共享、目录、文件和元数据

示例请求

PUT https://myaccount.file.core.windows.net/myshare/myparentdirectorypath/mydirectory? restype=directory HTTP/1.1  
  
Request headers:  
x-ms-version: 2014-02-14  
x-ms-date: Mon, 27 Jan 2014 22:50:32 GMT  
x-ms-meta-Category: Images  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

响应

响应包括 HTTP 状态代码和一组响应标头。

状态代码

成功的操作返回状态代码 201(已创建)。

有关状态代码的详细信息,请参阅 状态和错误代码

响应标头

此操作的响应包括下表中所述的标头。 响应还可以包含其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范

响应标头 描述
ETag 包含一个值,该值表示目录的版本,用引号括起来。
Last-Modified 返回上次修改目录的日期和时间。 日期格式遵循 RFC 1123。 有关详细信息,请参阅 表示标头中的日期/时间值。 修改目录或其属性的任何操作将更新上次修改时间。 对文件的操作不会影响目录的上次修改时间。
x-ms-request-id 唯一标识已发出的请求,并可用于对请求进行故障排除。 有关详细信息,请参阅 API 操作故障排除
x-ms-version 指示用于执行请求的 Azure 文件版本。
Date 由服务生成的 UTC 日期/时间值,该值指示启动响应的时间。
x-ms-request-server-encrypted: true/false 版本 2017-04-17 或更高版本。 如果请求的内容是使用指定的算法成功加密的,则此标头的值将设置为 true,否则 false
x-ms-file-permission-key 目录权限的密钥。
x-ms-file-attributes 目录中的文件系统属性。 请参阅可用属性的列表。
x-ms-file-creation-time 表示目录的创建时间属性的 UTC 日期/时间值。
x-ms-file-last-write-time 表示目录的最后一个写入时间属性的 UTC 日期/时间值。
x-ms-file-change-time 表示目录的更改时间属性的值的 UTC 日期/时间。
x-ms-file-file-id 目录的文件 ID。
x-ms-file-parent-id 目录的父文件 ID。
x-ms-client-request-id 可用于对请求和相应的响应进行故障排除。 如果此标头存在于请求中并且值包含不超过 1024 个可见 ASCII 字符,则此标头的值等于 x-ms-client-request-id 标头的值。 如果请求中不存在 x-ms-client-request-id 标头,则响应中不存在此标头。

响应正文

没有。

示例响应

Response status:  
HTTP/1.1 201 Created  
  
Response headers:  
Transfer-Encoding: chunked  
Date: Mon, 27 Jan 2014 23:00:12 GMT  
ETag: "0x8CB14C3E29B7E82"  
Last-Modified: Mon, 27 Jan 2014 23:00:06 GMT  
x-ms-version: 2014-02-14  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

授权

只有帐户所有者才能调用此操作。

文件系统属性

属性 Win32 文件属性 定义
ReadOnly FILE_ATTRIBUTE_READONLY 只读目录。
隐藏 FILE_ATTRIBUTE_HIDDEN 目录已隐藏。 它不包括在普通目录列表中。
系统 FILE_ATTRIBUTE_SYSTEM 操作系统使用部分或独占使用的目录。
没有 FILE_ATTRIBUTE_NORMAL 未设置其他属性的目录。 此属性仅在单独使用时才有效。
目录 FILE_ATTRIBUTE_DIRECTORY 标识目录的句柄。
档案 FILE_ATTRIBUTE_ARCHIVE 作为存档目录的目录。 应用程序通常使用此属性标记文件以供备份或删除。
离线 FILE_ATTRIBUTE_OFFLINE 目录的数据不会立即可用。 此文件系统属性主要用于提供与 Windows 的兼容性。 Azure 文件不支持使用脱机存储选项。
NotContentIndexed FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 目录不会由内容索引服务编制索引。
NoScrubData FILE_ATTRIBUTE_NO_SCRUB_DATA 后台数据完整性扫描程序不 读取的用户数据流。 此文件系统属性主要用于提供与 Windows 的兼容性。

言论

如果在调用 Create Directory 时删除同名目录,服务器将返回状态代码 409(冲突),并提供指示正在删除该目录的其他错误信息。

如果已存在同名的目录或文件,则操作将失败并显示状态代码 409(冲突)。 如果父目录不存在,则操作失败,状态代码为 412(前置条件失败)。

无法使用单个 Create Directory 操作创建目录层次结构。 仅当目录的直接父级已存在时,才能创建目录,如路径中指定的。 如果父目录不存在,则操作失败,状态代码为 412(前置条件失败)。

共享快照不支持 Create Directory,这是共享的只读副本。 尝试对共享快照执行此操作将失败,但 400 (InvalidQueryParameterValue)

另请参阅

目录上的操作