Поделиться через


Создание жесткой ссылки

Операция Create Hard Link создает новую жесткую ссылку на существующий файл. Эта операция поддерживается в версии 2025-05-05 и более поздних версий только для общих папок с включенным протоколом NFS.

Доступность протокола

Протокол общей папки с включенным доступом Доступный
Малый и средний бизнес (SMB) Нет
Сетевая файловая система (NFS) Да

Просьба

Запрос Create Hard Link создается следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS.

Метод URI запроса ВЕРСИЯ HTTP
КЛАСТЬ https://myaccount.file.core.windows.net/myshare/mydirectorypath/myhardlink?restype=hardlink HTTP/1.1

Замените компоненты пути, отображаемые в URI запроса собственным, как описано в следующей таблице:

Компонент path Описание
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 КИБ длиной. Это должен быть полный/абсолютный путь к целевому файлу из корня той же общей папки или полный URI для целевого файла.

Вот несколько примеров пути к целевому файлу:
  • mydirectorypath/myfile
  • https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile
x-ms-client-request-id Необязательный. Предоставляет созданное клиентом непрозрачное значение с ограничением символов 1-kibibyte (KiB), записанным в журналах при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Monitor Azure Files.
x-ms-file-request-intent Требуется, если заголовок Authorization указывает токен OAuth. Допустимое значение равно backup. Этот заголовок указывает, что Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action или Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action следует предоставить, если они включены в политику RBAC, назначенную удостоверению, авторизованному с помощью заголовка Authorization. Доступно для версии 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 Идентификатор файла.
x-ms-file-parent-id Родительский идентификатор файла только что созданной жесткой ссылки.
x-ms-client-request-id Используется для устранения неполадок запросов и их соответствующих ответов. Значение этого заголовка равно значению заголовка x-ms-client-request-id, если оно присутствует в запросе, а значение содержит не более 1024 видимых символов 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 Задайте эффективный идентификатор пользователя в файле.
2000 Задайте действующий идентификатор группы в файле.
1000 Задайте для указания, что файл можно удалить или переименовать только владельцем файла, владельцем каталога или корневым пользователем.

Символьный формат rwx

Разрешения для владельца или пользователя, группы и других пользователей указываются с помощью сочетания символов "r" (чтение), "w" (запись) и "x" (выполнение).

Формат Разрешение
rwx------ Пользователь (владелец файла) имеет разрешение на чтение, запись и выполнение.
r-------- У пользователя есть разрешение на чтение.
-ш------- У пользователя есть разрешение на запись.
--х------ У пользователя есть разрешение на выполнение.
---rwx--- Группа имеет разрешение на чтение, запись и выполнение.
---р----- Группа имеет разрешение на чтение.
----w---- Группа имеет разрешение на запись.
-----х--- Группа имеет разрешение на выполнение.
------rwx Другие пользователи имеют разрешение на чтение, запись и выполнение.
------r-- Другие имеют разрешение на чтение.
-------ж- Другие имеют разрешение на запись.
--------х Другие имеют разрешение на выполнение.

Замечания

Если общая папка не существует, операция завершается ошибкой с кодом состояния 404/'Not Found' (ShareNotFound).

Если родительский каталог жесткой ссылки или целевого файла не существует, операция завершается ошибкой с кодом состояния 404/'Not Found' (ParentNotFound).

Если целевой файл не существует, операция завершается ошибкой с кодом состояния 404/'Not Found' (ResourceNotFound).

Если созданная жесткая ссылка уже существует или указывает путь к ресурсу, который уже существует, операция завершается ошибкой с кодом состояния 409/"Conflict" (ResourceAlreadyExists).

Так как жесткие ссылки могут создаваться только для файлов, если заголовок x-ms-target-file не указывает на файл, запрос завершается ошибкой с кодом состояния 400/'Bad Request'.

Create Hard Link не поддерживается в моментальном снимке общего ресурса, который является копией общего ресурса только для чтения. Попытка выполнить эту операцию на моментальном снимке общего ресурса завершается ошибкой с кодом состояния 400/'Bad Request' (InvalidQueryParameterValue).

См. также

операции с файлами