Path - Update
Dołączanie | Opróżnij | Ustawianie właściwości | Ustaw Access Control
Przesyła dane, które mają zostać dołączone do pliku, opróżnia (zapisuje) wcześniej przekazane dane do pliku, ustawia właściwości pliku lub katalogu lub ustawia kontrolę dostępu dla pliku lub katalogu. Dane można dołączać tylko do pliku. Współbieżne operacje zapisu w tym samym pliku przy użyciu wielu klientów nie są obsługiwane. Ta operacja obsługuje warunkowe żądania HTTP. Aby uzyskać więcej informacji, zobacz Określanie nagłówków warunkowych dla operacji usługi Blob Service.
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}
PATCH https://{accountName}.{dnsSuffix}/{filesystem}/{path}?action={action}&position={position}&retainUncommittedData={retainUncommittedData}&close={close}&mode={mode}&maxRecords={maxRecords}&forceFlag={forceFlag}&continuation={continuation}&timeout={timeout}
Parametry identyfikatora URI
Name | In | Required | Type | Description |
---|---|---|---|---|
account
|
path | True |
|
Nazwa konta Storage Azure. |
dns
|
path | True |
|
Sufiks DNS dla punktu końcowego usługi Azure Data Lake Storage końcowego. |
filesystem
|
path | True |
|
Identyfikator systemu plików. Regex pattern: |
path
|
path | True |
|
Ścieżka pliku lub katalogu. |
action
|
query | True |
Akcją musi być "dołączenie", aby przekazać dane, które mają zostać dołączone do pliku, "opróżnienie" w celu opróżnienia wcześniej przekazanych danych do pliku, "setProperties" w celu ustawienia właściwości pliku lub katalogu lub "setAccessControl", aby ustawić właściciela, grupę, uprawnienia lub listę kontroli dostępu dla pliku lub katalogu, lub "setAccessControlRecursive", aby rekursywnie ustawić listę kontroli dostępu dla katalogu. Należy pamiętać, że dla konta musi być włączona opcja Hierarchiczna przestrzeń nazw, aby można było korzystać z kontroli dostępu. Należy również zauważyć, że lista Access Control (ACL) zawiera uprawnienia właściciela, grupy właścicieli i innych, dlatego nagłówki żądań x-ms-permissions i x-ms-acl wzajemnie się wykluczają. |
|
close
|
query |
|
Usługa Azure Storage Events umożliwia aplikacjom odbieranie powiadomień po zmianie plików. Gdy usługa Azure Storage Events jest włączona, jest wywoływane zdarzenie zmiany pliku. To zdarzenie ma właściwość wskazującą, czy jest to ostatnia zmiana rozróżniania różnicy między pośrednim opróżnianiem do strumienia plików a końcowym zamknięciem strumienia plików. Parametr zamknij zapytanie jest prawidłowy tylko wtedy, gdy akcja jest "opróżnienie" i powiadomienia o zmianie są włączone. Jeśli wartość zamknięcia to "true", a operacja opróżniania zakończy się pomyślnie, usługa zgłasza powiadomienie o zmianie pliku z właściwością wskazującą, że jest to ostatnia aktualizacja (strumień plików został zamknięty). Jeśli zostanie podniesione powiadomienie o zmianie "false" wskazujące, że plik został zmieniony. Wartością domyślną jest false. Ten parametr zapytania jest ustawiany na wartość true przez sterownik ABFS usługi Hadoop, aby wskazać, że strumień plików został zamknięty". |
|
continuation
|
query |
|
Opcjonalne i prawidłowe tylko dla operacji "setAccessControlRecursive". Liczba ścieżek przetworzonych przy użyciu każdego wywołania jest ograniczona. Jeśli liczba ścieżek do przetworzenia przekracza ten limit, token kontynuacji jest zwracany w nagłówku odpowiedzi x-ms-continuation. Gdy token kontynuacji jest zwracany w odpowiedzi, musi być zakodowany w procentach i określony w kolejnym wywołaniach operacji setAccessControlRecursive. |
|
force
|
query |
|
Opcjonalne i prawidłowe tylko dla operacji "setAccessControlRecursive". Jeśli jest to operacja "false", operacja zakończy się szybko po napotkaniu błędów użytkownika (4XX). Jeśli wartość "true" interfejs API zignoruje błędy użytkownika i przejdzie do operacji na innych jednostkach podrzędnych katalogu. Szczegółowy stan błędów użytkownika zostanie zwrócony w odpowiedzi dla każdego ze scenariuszy. Token kontynuacji będzie zwracany tylko wtedy, gdy forceFlag ma wartość "true" w przypadku błędów użytkownika. Wartość domyślna dla forceFlag to false. |
|
max
|
query |
|
Opcjonalne i prawidłowe tylko dla operacji "setAccessControlRecursive". Określa maksymalną liczbę plików lub katalogów, do których zostanie zastosowana zmiana listy ACL. W przypadku pominięcia lub większej niż 2000 żądanie będzie przetwarzać maksymalnie 2000 elementów |
|
mode
|
query |
|
Opcjonalny. Prawidłowe i wymagane dla operacji "setAccessControlRecursive". Tryb "set" ustawia prawa kontroli dostępu POSIX do plików i katalogów, "modyfikuj" modyfikuje co najmniej jedno prawo kontroli dostępu POSIX, które już istnieją w plikach i katalogach, "remove" usuwa co najmniej jedno prawo kontroli dostępu POSIX, które były obecne wcześniej w plikach i katalogach |
|
position
|
query |
|
Ten parametr umożliwia wywołującym przekazywanie danych równolegle i sterowanie kolejnością, w jakiej są dołączane do pliku. Jest to wymagane w przypadku przekazywania danych do pliku i opróżniania wcześniej przekazanych danych do pliku. Wartość musi być położeniem, w którym mają zostać dołączone dane. Przekazane dane nie są natychmiast opróżniane ani zapisywane w pliku. Aby opróżnić, wcześniej przekazane dane muszą być ciągłe, parametr position musi być określony i równy długości pliku po nagraniu wszystkich danych i nie może zawierać treści jednostki żądania dołączonej do żądania. |
|
retain
|
query |
|
Prawidłowe tylko w przypadku operacji opróżniwania. W przypadku wartości "true" niezatwierdzone dane są zachowywane po zakończeniu operacji opróżnień; W przeciwnym razie niezatwierdzone dane zostaną usunięte po operacji opróżninia. Wartością domyślną jest false. Dane przy przesunięciach mniejszej niż określona pozycja są zapisywane w pliku, gdy opróżnienie zakończy się pomyślnie, ale ten opcjonalny parametr umożliwia zachowywanie danych po pozycji opróżnienia dla przyszłej operacji opróżnienia. |
|
timeout
|
query |
|
Opcjonalna wartość limitu czasu operacji w sekundach. Okres rozpoczyna się, gdy żądanie zostanie odebrane przez usługę. Jeśli wartość limitu czasu upłynie przed zakończeniem operacji, operacja zakończy się niepowodzeniem. |
Nagłówek żądania
Media Types: "application/octet-stream", "text/plain"
Name | Required | Type | Description |
---|---|---|---|
Content-Length |
|
Wymagane dla "Dołącz dane" i "Opróżnij dane". Musi mieć 0 dla ciągu "Flush Data" (Opróżnij dane). Musi to być długość zawartości żądania w bajtach dla "Dołączanie danych". |
|
Content-MD5 |
|
Opcjonalny. Skrót MD5 zawartości żądania. Ten nagłówek jest prawidłowy dla operacji "Dołącz" i "Opróżnij". Ten skrót służy do weryfikowania integralności zawartości żądania podczas transportu. Gdy ten nagłówek jest określony, usługa magazynu porównuje skrót zawartości, która dotarła z tą wartością nagłówka. Jeśli te dwa skróty nie są zgodne, operacja nie powiedzie się z kodem błędu 400 (Złe żądanie). Pamiętaj, że ten skrót MD5 nie jest przechowywany razem z plikiem . Ten nagłówek jest skojarzony z zawartością żądania, a nie z przechowywaną zawartością samego pliku. |
|
x-ms-lease-id |
|
Identyfikator dzierżawy należy określić, jeśli istnieje aktywna dzierżawa. Nieprawidłowy dla operacji "setAccessControlRecursive". Regex pattern: |
|
x-ms-cache-control |
|
Opcjonalne i prawidłowe tylko dla operacji opróżniania i ustawienia właściwości. Usługa przechowuje tę wartość i uwzględnia ją w nagłówku odpowiedzi "Cache-Control" dla operacji "Odczyt pliku". |
|
x-ms-content-type |
|
Opcjonalne i prawidłowe tylko dla operacji opróżniania i ustawienia właściwości. Usługa przechowuje tę wartość i uwzględnia ją w nagłówku odpowiedzi "Content-Type" dla operacji "Odczyt pliku". |
|
x-ms-content-disposition |
|
Opcjonalne i prawidłowe tylko dla operacji opróżniania i ustawienia właściwości. Usługa przechowuje tę wartość i uwzględnia ją w nagłówku odpowiedzi "Content-Disposition" dla operacji "Odczyt pliku". |
|
x-ms-content-encoding |
|
Opcjonalne i prawidłowe tylko dla operacji opróżniania i ustawienia właściwości. Usługa przechowuje tę wartość i uwzględnia ją w nagłówku odpowiedzi "Kodowanie zawartości" dla operacji "Odczyt pliku". |
|
x-ms-content-language |
|
Opcjonalne i prawidłowe tylko dla operacji opróżniania i ustawienia właściwości. Usługa przechowuje tę wartość i uwzględnia ją w nagłówku odpowiedzi "Content-Language" dla operacji "Odczyt pliku". |
|
x-ms-content-md5 |
|
Opcjonalne i prawidłowe tylko dla operacji "Flush and Set Properties". Usługa przechowuje tę wartość i uwzględnia ją w nagłówku odpowiedzi "Content-Md5" dla operacji "Odczyt i Pobierz właściwości". Jeśli ta właściwość nie zostanie określona w żądaniu, właściwość zostanie wyczyszona dla pliku. Kolejne wywołania właściwości "Odczyt i Pobierz właściwości" nie będą zwracać tej właściwości, chyba że zostanie ona jawnie ustawiona dla tego pliku ponownie. |
|
x-ms-properties |
|
Opcjonalny. Właściwości zdefiniowane przez użytkownika, które mają być przechowywane w pliku lub katalogu w formacie rozdzielanej przecinkami listy par nazw i wartości "n1=v1, n2=v2, ...", gdzie każda wartość jest ciągiem zakodowanym w formacie base64. Należy pamiętać, że ciąg może zawierać tylko znaki ASCII w zestawie znaków ISO-8859-1. Prawidłowa tylko dla operacji setProperties. Jeśli plik lub katalog istnieje, wszystkie właściwości, które nie znajdują się na liście, zostaną usunięte. Wszystkie właściwości są usuwane w przypadku pominięcia nagłówka. Aby scalić nowe i istniejące właściwości, należy najpierw pobrać wszystkie istniejące właściwości i bieżący tag E, a następnie wykonać żądanie warunkowe za pomocą tagu E-Tag i uwzględnić wartości wszystkich właściwości. |
|
x-ms-owner |
|
Opcjonalne i prawidłowe tylko dla setAccessControl operacji. Ustawia właściciela pliku lub katalogu. |
|
x-ms-group |
|
Opcjonalne i prawidłowe tylko dla setAccessControl operacji. Ustawia grupę, która jest właścicielem pliku lub katalogu. |
|
x-ms-permissions |
|
Opcjonalne i prawidłowe tylko wtedy, gdy dla konta jest włączona opcja Hierarchiczna przestrzeń nazw. Ustawia uprawnienia dostępu POSIX dla właściciela pliku, grupy właściciela pliku i innych. Każdej klasie można przyznać uprawnienia do odczytu, zapisu lub wykonywania. Bit sticky jest również obsługiwany. Obsługiwane są zarówno notacja symboliczna (rwxrw-rw-), jak i 4-cyfrowa notacja ósemkowa (np. 0766). Nieprawidłowy w połączeniu z x-ms-acl. |
|
x-ms-acl |
|
Opcjonalne i prawidłowe tylko dla setAccessControl i setAccessControlRecursive operacji. Wymagany dla operacji setAccessControlRecursive. Ustawia prawa kontroli dostępu POSIX do plików i katalogów. Wartość jest rozdzielaną przecinkami listą wpisów kontroli dostępu, która w pełni zastępuje istniejącą listę kontroli dostępu (ACL) w przypadku setAccessControl i "set" trybu setAccessControlRecursive. Tryb "modify" zestawAccessControlRecursive aktualizuje istniejące listy ACLS. Każdy wpis kontroli dostępu (ACE) składa się z zakresu, typu, identyfikatora użytkownika lub grupy i uprawnień w formacie "[zakres:][typ]:[id]:[uprawnienia]". Zakres musi być "domyślny", aby wskazać ACE należy do domyślnej listy ACL dla katalogu; w przeciwnym razie zakres jest niejawny, a ace należy do listy ACL dostępu. Istnieją cztery typy ACE: "użytkownik" przyznaje prawa właścicielowi lub nazwanemu użytkownikowi, "grupa" przyznaje prawa do grupy jako właściciel lub nazwanej grupy, "maska" ogranicza prawa przyznane nazwanych użytkownikom i członkom grup, a "inne" przyznaje prawa wszystkim użytkownikom, których nie znaleziono w żadnym z innych wpisów. Identyfikator użytkownika lub grupy jest pomijany dla wpisów typu "mask" i "other". Identyfikator użytkownika lub grupy jest również pomijany dla właściciela i grupy właścicielem. Pole uprawnień to 3-znakowa sekwencja, w której pierwszy znak to "r" w celu udzielenia dostępu do odczytu, drugi znak to "w", aby udzielić dostępu do zapisu, a trzeci znak to "x", aby przyznać uprawnienia do wykonywania. Jeśli dostęp nie zostanie udzielony, znak "-" oznacza, że uprawnienie zostanie odrzucone. Na przykład następująca listy ACL przyznaje prawa do odczytu, john.doe@contosozapisu i wykonywania właścicielowi pliku i , prawa do odczytu do grupy, która jest właścicielem, i nic innym: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx". Nieprawidłowa w połączeniu z x-ms-permissions. Tryb "remove" funkcji setAccessControlRecursive usuwa istniejące listy ACL i nie powinien zawierać uprawnień na określonej liście kontroli dostępu: "user:john.doe@contoso:, mask:". Tryb "set" setAccessControlRecursive ustawia ACL zastępujące istniejące wcześniej acl ACL określonego zakresu i musi zawierać wszystkie trzy — użytkownika będącą właścicielem, grupy będącą właścicielem i inne informacje, jeśli zakres dostępu jest ustawiany lub jeśli użytkownik jest właścicielem, grupa będąca właścicielem lub inne jest ustawiony w zakresie domyślnym. Tryby "set" i "modify" funkcji setAccessControlRecursive muszą zawierać uprawnienia jako część listy kontroli dostępu. |
|
If-Match |
|
Opcjonalne w przypadku opróżnianych danych, Access Control ustaw właściwości i ustaw właściwości, ale są nieprawidłowe dla dołączania danych i Access Control cykliczne. Wartość ETag. Określ ten nagłówek, aby wykonać operację tylko wtedy, gdy tag ETag zasobu jest taki, jak określona wartość. Tag ETag musi być określony w cudzysłowie. |
|
If-None-Match |
|
Opcjonalne w przypadku opróżnianych danych, Access Control ustaw właściwości i ustaw właściwości, ale są nieprawidłowe dla dołączania danych i Access Control cykliczne. Wartość ETag lub wartość specjalnego symbolu wieloznacznego ("*"). Określ ten nagłówek, aby wykonać operację tylko wtedy, gdy tag ETag zasobu nie pasuje do określonej wartości. Tag ETag musi być określony w cudzysłowie. |
|
If-Modified-Since |
|
Opcjonalne w przypadku opróżnianych danych i właściwości zestawu, ale nieprawidłowe dla dołączania danych i Access Control cykliczne. Wartość daty i godziny. Określ ten nagłówek, aby wykonać operację tylko wtedy, gdy zasób został zmodyfikowany od określonej daty i czasu. |
|
If-Unmodified-Since |
|
Opcjonalne w przypadku opróżnianych danych i właściwości zestawu, ale nieprawidłowe dla dołączania danych i Access Control cykliczne. Wartość daty i godziny. Określ ten nagłówek, aby wykonać operację tylko wtedy, gdy zasób nie został zmodyfikowany od określonej daty i czasu. |
|
x-ms-encryption-key |
|
Opcjonalny. Klucz szyfrowania AES-256 zakodowany w formacie Base64. |
|
x-ms-encryption-key-sha256 |
|
Opcjonalny. Skrót SHA256 klucza szyfrowania zakodowany w formacie Base64. |
|
x-ms-encryption-algorithm: AES256 |
|
Opcjonalny. Określa algorytm, który ma być używany do szyfrowania. Wartość tego nagłówka musi być AES256. |
|
x-ms-encryption-context |
|
Opcjonalny. Wartość domyślna to "Empty". Jeśli wartość jest ustawiona, ustawi metadane obiektu blob/systemu plików. Maksymalna długość — 1024 |
|
x-ms-client-request-id |
|
Identyfikator UUID zarejestrowany w dziennikach analizy na potrzeby rozwiązywania problemów i korelacji. Regex pattern: |
|
x-ms-date |
|
Określa dla żądania godzinę w formacie uniwersalnego czasu koordynowanego (UTC). Jest to wymagane w przypadku korzystania z autoryzacji klucza wspólnego. |
|
x-ms-version |
|
Określa wersję protokołu REST używaną do przetwarzania żądania. Jest to wymagane w przypadku korzystania z autoryzacji klucza wspólnego. |
Treść żądania
Media Types: "application/octet-stream", "text/plain"
Name | Type | Description |
---|---|---|
requestBody |
|
Prawidłowy tylko dla operacji dołączania. Dane, które mają zostać przekazane i dołączone do pliku. |
Odpowiedzi
Name | Type | Description |
---|---|---|
200 OK |
Dane zostały opróżnione (zapisane) do pliku lub właściwości zostały ustawione pomyślnie. Treść odpowiedzi jest opcjonalna i jest prawidłowa tylko dla parametru "SetAccessControlRecursive" Headers
|
|
202 Accepted |
Przekazane dane zostały zaakceptowane. Headers
|
|
Other Status Codes |
Wystąpił błąd. Poniżej wymieniono możliwe stany HTTP, kod i ciągi komunikatów:
Headers
|
Definicje
Acl |
|
Data |
|
Error |
Obiekt odpowiedzi na błąd usługi. |
Path |
Akcją musi być "dołączenie", aby przekazać dane, które mają zostać dołączone do pliku, "opróżnienie" w celu opróżnienia wcześniej przekazanych danych do pliku, "setProperties" w celu ustawienia właściwości pliku lub katalogu lub "setAccessControl", aby ustawić właściciela, grupę, uprawnienia lub listę kontroli dostępu dla pliku lub katalogu, lub "setAccessControlRecursive", aby rekursywnie ustawić listę kontroli dostępu dla katalogu. Należy pamiętać, że dla konta musi być włączona opcja Hierarchiczna przestrzeń nazw, aby można było korzystać z kontroli dostępu. Należy również zauważyć, że lista Access Control (ACL) zawiera uprawnienia właściciela, grupy właścicieli i innych, dlatego nagłówki żądań x-ms-permissions i x-ms-acl wzajemnie się wykluczają. |
Set |
AclFailedEntryList
Name | Type | Description |
---|---|---|
errorMessage |
|
|
name |
|
|
type |
|
DataLakeStorageError
Name | Type | Description |
---|---|---|
error |
Obiekt odpowiedzi na błąd usługi. |
Error
Obiekt odpowiedzi na błąd usługi.
Name | Type | Description |
---|---|---|
code |
|
Kod błędu usługi. |
message |
|
Komunikat o błędzie usługi. |
PathUpdateAction
Akcją musi być "dołączenie", aby przekazać dane, które mają zostać dołączone do pliku, "opróżnienie" w celu opróżnienia wcześniej przekazanych danych do pliku, "setProperties" w celu ustawienia właściwości pliku lub katalogu lub "setAccessControl", aby ustawić właściciela, grupę, uprawnienia lub listę kontroli dostępu dla pliku lub katalogu, lub "setAccessControlRecursive", aby rekursywnie ustawić listę kontroli dostępu dla katalogu. Należy pamiętać, że dla konta musi być włączona opcja Hierarchiczna przestrzeń nazw, aby można było korzystać z kontroli dostępu. Należy również zauważyć, że lista Access Control (ACL) zawiera uprawnienia właściciela, grupy właścicieli i innych, dlatego nagłówki żądań x-ms-permissions i x-ms-acl wzajemnie się wykluczają.
Name | Type | Description |
---|---|---|
append |
|
|
flush |
|
|
setAccessControl |
|
|
setAccessControlRecursive |
|
|
setProperties |
|
SetAccessControlRecursiveResponse
Name | Type | Description |
---|---|---|
directoriesSuccessful |
|
|
failedEntries | ||
failureCount |
|
|
filesSuccessful |
|