Create Hard Link
作会创建指向现有文件的新硬链接。 仅在启用了 NFS 协议的文件共享版本 2025-05-05 及更高版本中才支持此作。
协议可用性
已启用文件共享协议 | 可用 |
---|---|
中小型企业 (SMB) |
![]() |
网络文件系统(NFS) |
![]() |
请求
Create Hard Link
请求构造如下。 建议使用 HTTPS。
方法 | 请求 URI | HTTP 版本 |
---|---|---|
放 | https://myaccount.file.core.windows.net/myshare/mydirectorypath/myhardlink?restype=hardlink |
HTTP/1.1 |
将请求 URI 中显示的路径组件替换为自己的路径组件,如下表所述:
路径组件 | 描述 |
---|---|
myaccount |
存储帐户的名称。 |
myshare |
文件共享的名称。 |
mydirectorypath |
自选。 要在其中创建硬链接的目录的路径。 如果省略目录路径,则会在指定的共享中创建硬链接。 如果指定了目录,则必须先存在于共享中,然后才能创建硬链接。 |
myhardlink |
要创建的硬链接的名称。 |
有关路径命名限制的信息,请参阅 名称和引用共享、目录、文件和元数据。
URI 参数
可以在请求 URI 上指定以下附加参数:
参数 | 描述 |
---|---|
timeout |
自选。
timeout 参数以秒为单位表示。 有关详细信息,请参阅 设置文件服务作的超时。 |
请求标头
下表描述了必需和可选的请求标头:
请求标头 | 描述 |
---|---|
Authorization |
必填。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅 授权对 Azure 存储的请求。 |
Date 或 x-ms-date |
必填。 指定请求的协调世界时(UTC)时间。 有关详细信息,请参阅 授权对 Azure 存储的请求。 |
x-ms-version |
所有授权请求都是必需的。 指定要用于此请求的作的版本。 在版本 2025-05-05 及更高版本中支持此作,以启用 NFS 协议的文件共享。 有关详细信息,请参阅 azure 存储服务 版本控制。 |
Content-Length |
自选。 如果存在,则必须为零。 |
x-ms-content-length |
自选。 如果存在,则必须为零。 |
x-ms-type: file |
必填。 将此标头设置为 file 。 |
x-ms-file-target-file:path |
必填。 指定将创建硬链接的目标文件的绝对路径,长度最多为 2 KiB。 它应该是目标文件从同一共享的根目录开始的完整/绝对路径或目标文件的完整 URI。 以下是目标文件路径的一些示例:
|
x-ms-client-request-id |
自选。 提供客户端生成的不透明值,该值具有配置日志记录时日志中记录的 1-kibibyte (KiB) 字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure 文件。 |
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 中存在的尾随点。 如果目标位于启用了 NFS 协议的文件共享上,则默认支持尾随点,则忽略此标头。 有关详细信息,请参阅 命名和引用共享、目录、文件和元数据。 |
请求正文
没有。
示例请求
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare/myhardlink?restype=hardlink HTTP/1.1
Request Headers:
x-ms-version: 2025-05-05
x-ms-date: Wed, 20 Nov 2024 09:17:09 GMT
x-ms-type: file
x-ms-file-target-file: mydir/myfile
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
响应
响应包括 HTTP 状态代码和一组响应标头。
状态代码
成功的作返回状态代码 201(已创建)。 有关状态代码的信息,请参阅 状态和错误代码。
响应标头
此作的响应包括下表中的标头:
常见响应标头
响应标头 | 描述 |
---|---|
Date |
由服务生成的 UTC 日期/时间值,该值指示启动响应的时间。 |
ETag |
ETag 包含一个值,该值表示文件的版本。 该值用引号引起来。 |
Last-Modified |
返回上次修改文件的日期和时间。 日期格式遵循 RFC 1123。 有关详细信息,请参阅 表示标头中的日期/时间值。 修改目录或其属性的任何作将更新上次修改时间。 对文件的作不会影响目录的上次修改时间。 |
x-ms-request-id |
唯一标识已发出的请求,并可用于对请求进行故障排除。 有关详细信息,请参阅 API作疑难解答 |
x-ms-version |
指示用于执行请求的 Azure 文件版本。 |
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 标头的值,并且该值包含不超过 1,024 个可见 ASCII 字符。 如果请求中不存在 x-ms-client-request-id 标头,则响应中不存在该标头。 |
x-ms-mode |
文件的模式。 请参阅 POSIX 文件权限(模式)。 |
x-ms-owner |
文件所有者的用户标识符(UID)。 |
x-ms-group |
文件所有者的组标识符(GID)。 |
x-ms-link-count |
文件的链接计数。 |
x-ms-file-file-type |
文件的类型,可能的值为:Regular 。 |
响应正文
没有。
示例响应
Response Status:
HTTP/1.1 201 Created
Response Headers:
Date: Wed, 20 Nov 2024 09:17:08 GMT
ETag: "0x8DD09441C5DB27A"
Last-Modified: Wed, 20 Nov 2024 09:17:09 GMT
x-ms-version: 2025-05-05
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
授权
只有帐户所有者才能调用此作。
POSIX 文件权限(模式)
POSIX 文件权限可以用 12 位数字八进制格式或符号“rwx”格式进行数字指定。 例子:
- “0644”或“rw-r--r--”:用户(文件所有者)具有读取、写入权限。 组具有读取权限。 其他人具有读取权限。
- “0755”或“rwxr-xr-x”:用户(文件所有者)具有读取、写入和执行权限。 组具有读取和执行权限。 其他人具有读取和执行权限。
数字八进制格式
三个最低顺序八进制数表示所有者/用户、组和其他用户的权限,并使用八进制数(0-7)表示使用按位组合“4”(读取)、“2”(写入)、“1”(执行)。 最高阶八进制数(0-7)用于指示“4”(SetUID)、“2”(SetGID)、“1”(StickyBit)权限的组合。
格式 | 许可 |
---|---|
0700 | 用户(文件所有者)具有读取、写入和执行权限。 |
0400 | 用户具有读取权限。 |
0200 | 用户具有写入权限。 |
0100 | 用户具有执行权限。 |
0070 | 组具有读取、写入和执行权限。 |
0040 | 组具有读取权限。 |
0020 | 组具有写入权限。 |
0010 | 组具有执行权限。 |
0007 | 其他人具有读取、写入和执行权限。 |
0004 | 其他人具有读取权限。 |
0002 | 其他人具有写入权限。 |
0001 | 其他人具有执行权限。 |
4000 | 在文件上设置有效的用户 ID。 |
2000 | 在文件上设置有效组 ID。 |
1000 | 设置为指示文件只能由文件所有者、目录所有者或根用户删除或重命名文件。 |
符号“rwx”格式
使用“r”(读取)、“w”(写入)和“x”(执行)字符的组合来指示所有者/用户、组和其他权限。
格式 | 许可 |
---|---|
rwx------ | 用户(文件所有者)具有读取、写入和执行权限。 |
r-------- | 用户具有读取权限。 |
-w------- | 用户具有写入权限。 |
--x------ | 用户具有执行权限。 |
---rwx--- | 组具有读取、写入和执行权限。 |
---r----- | 组具有读取权限。 |
----w---- | 组具有写入权限。 |
-----x--- | 组具有执行权限。 |
------rwx | 其他人具有读取、写入和执行权限。 |
------r-- | 其他人具有读取权限。 |
------- | 其他人具有写入权限。 |
--------x | 其他人具有执行权限。 |
言论
如果共享不存在,则该作将失败,状态代码为 404/“未找到”(ShareNotFound)。
如果硬链接或目标文件的父目录不存在,则该作将失败,状态代码为 404/“未找到”(ParentNotFound)。
如果目标文件不存在,则该作将失败,状态代码为 404/“找不到”(ResourceNotFound)。
如果要创建的硬链接已存在,或者路径指向已存在的资源,则该作将失败,状态代码为 409/'Conflict' (ResourceAlreadyExists)。
由于只能为文件创建硬链接,如果标头 x-ms-target-file
不指向文件,则请求将失败,状态代码为 400/“错误的请求”。
共享快照不支持 Create Hard Link
,这是共享的只读副本。 尝试对共享快照执行此作失败,状态代码为 400/'Bad Request' (InvalidQueryParameterValue)。