你当前正在访问 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> } 在版本 2019-02-02 到 2021-04-10 中,如果未 x-ms-file-permission-key 指定 ,则需要此标头。 自版本 2021-06-08 起,这两个标头都是可选的。 此权限是在安全描述符 定义语言 (SDDL) 中指定的目录的安全描述符 。 如果权限大小超过 8 kibibytes (KiB) ,则可以使用此标头。 否则,可以使用 x-ms-file-permission-key。 如果已指定,则它必须具有所有者、组和 自由访问控制列表 (DACL) 。 可以传递 值 inherit 以从父目录继承。

注意:可以指定 x-ms-file-permissionx-ms-file-permission-key。 如果两个标头均未指定,则使用 的 inherit 默认值。
x-ms-file-permission-key: <PermissionKey> 要为目录设置的权限的键。 在版本 2019-02-02 到 2021-04-10 中,如果未 x-ms-file-permission 指定 ,则需要此标头。 自版本 2021-06-08 起,这两个标头都是可选的。 可以使用 API 创建此密钥 Create-Permission

注意:可以指定 x-ms-file-permissionx-ms-file-permission-key。 如果两个标头均未指定,则 标头x-ms-file-permission使用 的默认值inherit
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 kibite (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,如果 或 包含在分配给使用 标头授权的标识的 RBAC 策略中,则应授予 或Authorization。 适用于版本 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 或更高版本。 如果使用指定的算法成功加密请求的内容,则此标头的值设置为 ;否则,false此标头的值设置为 true
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 可用于对请求和相应响应进行故障排除。 如果请求中存在此标头的值 x-ms-client-request-id ,并且该值包含不超过 1024 个可见 ASCII 字符,则此标头的值等于该标头的值。 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 只读目录。
Hidden 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)

另请参阅

对目录的操作