你当前正在访问 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 存储的请求。 |
Date 或 x-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-permission 或 x-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-permission 或 x-ms-file-permission-key 。 如果未指定两个标头,则 inherit 的默认值用于 x-ms-file-permission 标头。 |
x-ms-file-attributes |
必需:版本 2019-02-02 到 2021-04-10。 可选:版本 2021-06-08 及更高版本。 要设置在目录中的文件系统属性。 请参阅 |
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/action 或 Microsoft.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)