Udostępnij za pośrednictwem


Tworzenie twardego łącza

Operacja Create Hard Link tworzy nowy twardy link do istniejącego pliku. Ta operacja jest obsługiwana w wersji 2025-05-05 i nowszych tylko dla udziałów plików z włączonym protokołem NFS.

Dostępność protokołu

Włączony protokół udziału plików Dostępny
Małe i Średnie Przedsiębiorstwa (SMB) nie
System plików sieciowych (NFS) Tak

Prosić

Żądanie Create Hard Link jest konstruowane w następujący sposób. Zalecamy używanie protokołu HTTPS.

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
KŁAŚĆ https://myaccount.file.core.windows.net/myshare/mydirectorypath/myhardlink?restype=hardlink HTTP/1.1

Zastąp składniki ścieżki wyświetlane we własnym identyfikatorze URI żądania, zgodnie z opisem w poniższej tabeli:

Składnik ścieżki Opis
myaccount Nazwa konta magazynu.
myshare Nazwa udziału plików.
mydirectorypath Fakultatywny. Ścieżka do katalogu, w którym ma zostać utworzony twardy link. Jeśli ścieżka katalogu zostanie pominięta, twardy link zostanie utworzony w określonym udziale.

Jeśli katalog jest określony, musi już istnieć w udziale, zanim będzie można utworzyć twardy link.
myhardlink Nazwa twardego linku do utworzenia.

Aby uzyskać informacje o ograniczeniach nazewnictwa ścieżek, zobacz Nazwa i dokumentacja udziałów, katalogów, plików i metadanych.

Parametry identyfikatora URI

Dla identyfikatora URI żądania można określić następujące dodatkowe parametry:

Parametr Opis
timeout Fakultatywny. Parametr timeout jest wyrażony w sekundach. Aby uzyskać więcej informacji, zobacz Ustawianie limitów czasu dla operacji usługi plików.

Nagłówki żądań

Wymagane i opcjonalne nagłówki żądań zostały opisane w poniższej tabeli:

Nagłówek żądania Opis
Authorization Wymagane. Określa schemat autoryzacji, nazwę konta i podpis. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage.
Date lub x-ms-date Wymagane. Określa czas uniwersalny koordynowany (UTC) dla żądania. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage.
x-ms-version Wymagane dla wszystkich autoryzowanych żądań. Określa wersję operacji do użycia dla tego żądania. Ta operacja jest obsługiwana w wersji 2025-05-05 i nowszych dla udziałów plików z włączonym protokołem NFS.

Aby uzyskać więcej informacji, zobacz Przechowywanie wersji dla usług Azure Storage.
Content-Length Fakultatywny. Wartość musi być równa zero, jeśli istnieje.
x-ms-content-length Fakultatywny. Wartość musi być równa zero, jeśli istnieje.
x-ms-type: file Wymagane. Ustaw ten nagłówek na file.
x-ms-file-target-file:path Wymagane. Określa ścieżkę bezwzględną do pliku docelowego, do którego zostanie utworzone twarde łącze, maksymalnie 2 kiB długości. Powinna to być pełna/bezwzględna ścieżka pliku docelowego z katalogu głównego tego samego udziału lub pełny identyfikator URI pliku docelowego.

Oto kilka przykładów ścieżki do pliku docelowego:
  • mydirectorypath/myfile
  • https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile
x-ms-client-request-id Fakultatywny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem znaków 1-kibibyte (KiB), który jest rejestrowany w dziennikach podczas konfigurowania rejestrowania. Zdecydowanie zalecamy używanie tego nagłówka do korelowania działań po stronie klienta z żądaniami odbieranymi przez serwer. Aby uzyskać więcej informacji, zobacz Monitor Azure Files.
x-ms-file-request-intent Wymagane, jeśli nagłówek Authorization określa token OAuth. Akceptowalna wartość to backup. Ten nagłówek określa, że Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action lub Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action należy przyznać, jeśli są one uwzględnione w zasadach RBAC przypisanych do tożsamości autoryzowanej przy użyciu nagłówka Authorization. Dostępne dla wersji 2022-11-02 lub nowszej.
x-ms-allow-trailing-dot: { <Boolean> } Fakultatywny. Wersja 2022-11-02 lub nowsza. Wartość logiczna określa, czy końcowa kropka obecna w adresie URL żądania powinna zostać przycięta, czy nie.

Ten nagłówek jest ignorowany, jeśli element docelowy znajduje się w udziale plików z włączonym protokołem NFS, który domyślnie obsługuje kropkę końcową.

Aby uzyskać więcej informacji, zobacz Nazewnictwo i odwoływanie się do udziałów, katalogów, plików i metadanych.

Treść żądania

Żaden.

Przykładowe żądanie

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=

Odpowiedź

Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.

Kod stanu

Pomyślna operacja zwraca kod stanu 201 (Utworzono). Aby uzyskać informacje o kodach stanu, zobacz Stan i kody błędów.

Nagłówki odpowiedzi

Odpowiedź dla tej operacji zawiera nagłówki w poniższej tabeli:

Typowe nagłówki odpowiedzi

Nagłówek odpowiedzi Opis
Date Wartość daty/godziny UTC wygenerowana przez usługę, która wskazuje godzinę zainicjowania odpowiedzi.
ETag Element ETag zawiera wartość reprezentującą wersję pliku. Wartość jest ujęta w cudzysłów.
Last-Modified Zwraca datę i godzinę ostatniej modyfikacji pliku. Format daty jest zgodny z RFC 1123. Aby uzyskać więcej informacji, zobacz Reprezentowanie wartości daty/godziny w nagłówkach.

Każda operacja modyfikując katalog lub jego właściwości aktualizuje czas ostatniej modyfikacji. Operacje na plikach nie mają wpływu na czas ostatniej modyfikacji katalogu.
x-ms-request-id Jednoznacznie identyfikuje żądanie, które zostało wykonane i może służyć do rozwiązywania problemów z żądaniem. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z operacjami interfejsu API
x-ms-version Wskazuje wersję usługi Azure Files używaną do wykonania żądania.
x-ms-file-creation-time Wartość daty/godziny UTC reprezentująca właściwość godzina utworzenia pliku.
x-ms-file-last-write-time Wartość daty/godziny UTC reprezentująca właściwość czas ostatniego zapisu dla pliku.
x-ms-file-change-time Data/godzina UTC reprezentująca właściwość godziny zmiany pliku.
x-ms-file-file-id Identyfikator pliku.
x-ms-file-parent-id Identyfikator pliku nadrzędnego nowo utworzonego twardego łącza.
x-ms-client-request-id Służy do rozwiązywania problemów z żądaniami i odpowiadającymi im odpowiedziami. Wartość tego nagłówka jest równa wartości nagłówka x-ms-client-request-id, jeśli znajduje się w żądaniu, a wartość nie zawiera więcej niż 1024 widocznych znaków ASCII. Jeśli nagłówek x-ms-client-request-id nie znajduje się w żądaniu, nie jest obecny w odpowiedzi.
x-ms-mode Tryb pliku. Zobacz uprawnienia do plików POSIX (tryb).
x-ms-owner Identyfikator użytkownika (UID) właściciela pliku.
x-ms-group Identyfikator grupy (GID) właściciela pliku.
x-ms-link-count Liczba linków pliku.
x-ms-file-file-type Typ pliku, możliwa wartość to: Regular.

Treść odpowiedzi

Żaden.

Przykładowa odpowiedź

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

Autoryzacja

Tylko właściciel konta może wywołać tę operację.

Uprawnienia do plików POSIX (tryb)

Uprawnienia do plików POSIX można określić numerycznie w 12-bitowym formacie ósemkowym lub w formacie symbolicznym "rwx". Przykłady:

  • "0644" lub "rw-r--r--": Użytkownik (właściciel pliku) ma uprawnienie do odczytu, zapisu. Grupa ma uprawnienia do odczytu. Inne osoby mają uprawnienia do odczytu.
  • "0755" lub "rwxr-xr-x": użytkownik (właściciel pliku) ma uprawnienie do odczytu, zapisu i wykonywania. Grupa ma uprawnienie do odczytu i wykonywania. Inne osoby mają uprawnienia do odczytu i wykonywania.

Format ósemki liczbowej

Trzy najniższe liczby ósemkowe reprezentują uprawnienia właściciela/użytkownika, grupy i innych oraz są wskazywane przy użyciu liczby ósemkowej (0–7), utworzonej przy użyciu kombinacji bitowej "4" (Odczyt), "2" (Zapis), "1" (Wykonywanie). Najwyższa liczba ósemkowa zamówienia (0–7) służy do wskazywania kombinacji uprawnień "4" (SetUID), "2" (SetGID), "1" (StickyBit).

Forma Pozwolenie
0700 Użytkownik (właściciel pliku) ma uprawnienia do odczytu, zapisu i wykonywania.
0400 Użytkownik ma uprawnienia do odczytu.
0200 Użytkownik ma uprawnienia do zapisu.
0100 Użytkownik ma uprawnienie do wykonywania.
0070 Grupa ma uprawnienia do odczytu, zapisu i wykonywania.
0040 Grupa ma uprawnienia do odczytu.
0020 Grupa ma uprawnienia do zapisu.
0010 Grupa ma uprawnienie do wykonywania.
0007 Inne osoby mają uprawnienia do odczytu, zapisu i wykonywania.
0004 Inne osoby mają uprawnienia do odczytu.
0002 Inni mają uprawnienia do zapisu.
0001 Inne osoby mają uprawnienia do wykonywania.
4000 Ustaw obowiązujący identyfikator użytkownika w pliku.
2000 Ustaw obowiązujący identyfikator grupy w pliku.
1000 Ustaw wartość wskazującą, że plik można usunąć lub zmienić jego nazwę tylko przez właściciela pliku, właściciela katalogu lub użytkownika głównego.

Format symboliczny "rwx"

Uprawnienia właściciela/użytkownika, grupy i innych osób są wskazywane przy użyciu kombinacji znaków "r" (Read), "w" (Write) i "x" (Execute).

Forma Pozwolenie
RWX------ Użytkownik (właściciel pliku) ma uprawnienia do odczytu, zapisu i wykonywania.
r-------- Użytkownik ma uprawnienia do odczytu.
-w------- Użytkownik ma uprawnienia do zapisu.
--x------ Użytkownik ma uprawnienie do wykonywania.
---rwx--- Grupa ma uprawnienia do odczytu, zapisu i wykonywania.
---r----- Grupa ma uprawnienia do odczytu.
----w---- Grupa ma uprawnienia do zapisu.
-----x--- Grupa ma uprawnienie do wykonywania.
------rwx Inne osoby mają uprawnienia do odczytu, zapisu i wykonywania.
------r — Inne osoby mają uprawnienia do odczytu.
-------w- Inni mają uprawnienia do zapisu.
--------x Inne osoby mają uprawnienia do wykonywania.

Uwagi

Jeśli udział nie istnieje, operacja kończy się niepowodzeniem z kodem stanu 404/'Not Found' (ShareNotFound).

Jeśli katalog nadrzędny twardego łącza lub plik docelowy nie istnieje, operacja kończy się niepowodzeniem z kodem stanu 404/'Not Found' (ParentNotFound).

Jeśli plik docelowy nie istnieje, operacja kończy się niepowodzeniem z kodem stanu 404/'Not Found' (ResourceNotFound).

Jeśli twardy link do utworzenia już istnieje lub wskazuje ścieżkę do zasobu, który już istnieje, operacja kończy się niepowodzeniem z kodem stanu 409/'Konflikt' (ResourceAlreadyExists).

Ponieważ twarde linki można tworzyć tylko dla plików, jeśli nagłówek x-ms-target-file nie wskazuje pliku, żądanie kończy się niepowodzeniem z kodem stanu 400/'Nieprawidłowe żądanie'.

Create Hard Link nie jest obsługiwana w migawce udziału, która jest kopią udziału tylko do odczytu. Próba wykonania tej operacji na migawki udziału kończy się niepowodzeniem z kodem stanu 400/'Bad Request' (InvalidQueryParameterValue).

Zobacz też

Operacje na plikach