Umieść stronę z adresu URL

Operacja Put Page From URL zapisuje zakres stron w stronicowym obiekcie blob, w którym zawartość jest odczytywana z adresu URL. Ten interfejs API jest dostępny od wersji 2018-11-09.

Żądanie

Żądanie Put Page From URL może być skonstruowane w następujący sposób. Zalecane jest użycie protokołu HTTPS. Zastąp ciąg myaccount nazwą konta magazynu:

IDENTYFIKATOR URI żądania PUT Wersja PROTOKOŁU HTTP
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=page HTTP/1.1

Identyfikator URI usługi emulowanej Storage

Podczas wykonywania żądania względem usługi emulowanego magazynu określ nazwę hosta emulatora i port usługi Blob jako 127.0.0.1:10000, a następnie nazwę emulowanego konta magazynu:

IDENTYFIKATOR URI żądania PUT Wersja PROTOKOŁU HTTP
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=page HTTP/1.1

Aby uzyskać więcej informacji, zobacz Using the Azure Storage Emulator for Development and Testing (Korzystanie z usługi Azure Storage Emulator na potrzeby programowania i testowania).

Parametry identyfikatora URI

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

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

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.

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 dla żądania godzinę w formacie uniwersalnego czasu koordynowanego (UTC). 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. Aby uzyskać więcej informacji, zobacz Przechowywanie wersji dla usług Azure Storage Services.
Range Wymagany jest element Range lub x-ms-range .

Określa zakres bajtów do zapisania jako strony. Należy określić zarówno początek, jak i koniec zakresu. Ten nagłówek jest definiowany przez specyfikację protokołu HTTP/1.1.

W przypadku operacji aktualizacji strony zakres stron może mieć rozmiar do 4 MiB.

Biorąc pod uwagę, że strony muszą być wyrównane do granic 512-bajtowych, przesunięcie początkowe musi być modulem 512, a przesunięcie końcowe musi być modulem 512–1. Przykłady prawidłowych zakresów bajtów to 0-511, 512-1023 itp.

Usługa Blob Service akceptuje tylko jeden zakres bajtów dla nagłówka Range , a zakres bajtów musi być określony w następującym formacie: bytes=startByte-endByte.

Jeśli określono obie Range wartości i x-ms-range , usługa używa wartości x-ms-range. Aby uzyskać więcej informacji , zobacz Określanie nagłówka zakresu dla operacji usługi Blob Service .
x-ms-range Wymagany jest element Range lub x-ms-range .

Określa zakres bajtów do zapisania jako strony. Należy określić zarówno początek, jak i koniec zakresu. Ten nagłówek jest definiowany przez specyfikację protokołu HTTP/1.1.

Zakres stron może mieć rozmiar do 4 MiB.

Biorąc pod uwagę, że strony muszą być wyrównane do granic 512-bajtowych, przesunięcie początkowe musi być modulem 512, a przesunięcie końcowe musi być modulem 512–1. Przykłady prawidłowych zakresów bajtów to 0-511, 512-1023 itp.

Usługa Blob Service akceptuje tylko jeden zakres bajtów dla nagłówka x-ms-range , a zakres bajtów musi być określony w następującym formacie: bytes=startByte-endByte.

Jeśli określono obie Range wartości i x-ms-range , usługa używa wartości x-ms-range. Aby uzyskać więcej informacji , zobacz Określanie nagłówka zakresu dla operacji usługi Blob Service .
Content-Length Wymagane. Określa liczbę bajtów przesyłanych w treści żądania. Wartość tego nagłówka musi być ustawiona na zero. Jeśli długość nie jest równa zero, operacja zakończy się niepowodzeniem z kodem stanu 400 (Nieprawidłowe żądanie).
x-ms-copy-source:name Wymagane. Określa adres URL źródłowego obiektu blob. Wartość może być adresem URL o długości do 2 KiB, który określa obiekt blob. Wartość powinna być zakodowana w adresie URL, tak jak byłaby wyświetlana w identyfikatorze URI żądania. Źródłowy obiekt blob musi być publiczny lub musi być autoryzowany za pośrednictwem sygnatury dostępu współdzielonego. Jeśli źródłowy obiekt blob jest publiczny, do wykonania operacji nie jest wymagana żadna autoryzacja. Oto kilka przykładów źródłowych adresów URL obiektów:

- https://myaccount.blob.core.windows.net/mycontainer/myblob
- https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>
- https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime>
x-ms-copy-source-authorization: <scheme> <signature> Opcjonalny. Określa schemat autoryzacji i podpis dla źródła kopiowania. Aby uzyskać więcej informacji, zobacz Autoryzowanie żądań do usługi Azure Storage.
Tylko obiekt nośny schematu jest obsługiwany w przypadku Azure Active Directory.
Ten nagłówek jest obsługiwany w wersjach 2020-10-02 i nowszych.
x-ms-source-range Przekazuje bajty obiektu blob w źródłowym adresie URL w określonym zakresie. Należy określić zarówno początek, jak i koniec zakresu. Ten nagłówek jest definiowany przez specyfikację protokołu HTTP/1.1.

Zakres stron może mieć rozmiar do 4 MiB.

Usługa Blob Service akceptuje tylko jeden zakres bajtów dla nagłówka x-ms-source-range , a zakres bajtów musi być określony w następującym formacie: bytes=startByte-endByte.

Aby uzyskać więcej informacji , zobacz Określanie nagłówka zakresu dla operacji usługi Blob Service .
x-ms-source-content-md5 Opcjonalny. Skrót MD5 zawartości strony z identyfikatora URI. Ten skrót służy do weryfikowania integralności strony podczas transportu danych z identyfikatora URI. Po określeniu tego nagłówka usługa magazynu porównuje skrót zawartości, która dotarła z kopii źródła z tą wartością nagłówka.

Należy pamiętać, że ten skrót md5 nie jest przechowywany w obiekcie blob.

Jeśli dwa skróty nie są zgodne, operacja zakończy się niepowodzeniem z kodem błędu 400 (Nieprawidłowe żądanie).
x-ms-source-content-crc64 Opcjonalny. Skrót CRC64 zawartości strony z identyfikatora URI. Ten skrót służy do weryfikowania integralności strony podczas transportu danych z identyfikatora URI. Po określeniu tego nagłówka usługa magazynu porównuje skrót zawartości, która dotarła z kopii źródła z tą wartością nagłówka.

Należy pamiętać, że ten skrót CRC64 nie jest przechowywany w obiekcie blob.

Jeśli dwa skróty nie są zgodne, operacja zakończy się niepowodzeniem z kodem błędu 400 (Nieprawidłowe żądanie).

Jeśli istnieją zarówno x-ms-source-content-md5 nagłówki, jak i x-ms-source-content-crc64 żądanie zakończy się niepowodzeniem z błędem 400 (nieprawidłowe żądanie).

Ten nagłówek jest obsługiwany w wersjach 2019-02-02 lub nowszych.
x-ms-lease-id:<ID> Wymagane, jeśli obiekt blob ma aktywną dzierżawę. Aby wykonać tę operację na obiekcie blob z aktywną dzierżawą, określ prawidłowy identyfikator dzierżawy dla tego nagłówka.
x-ms-if-sequence-number-le: <num> Opcjonalny. Jeśli numer sekwencji obiektu blob jest mniejszy lub równy określonej wartości, żądanie będzie kontynuowane; w przeciwnym razie kończy się niepowodzeniem z błędem SequenceNumberConditionNotMet (kod stanu HTTP 412 — Niepowodzenie warunku wstępnego).
x-ms-if-sequence-number-lt: <num> Opcjonalny. Jeśli numer sekwencji obiektu blob jest mniejszy niż określona wartość, żądanie będzie kontynuowane; w przeciwnym razie kończy się niepowodzeniem z powodu błędu SequenceNumberConditionNotMet (kod stanu HTTP 412 — Niepowodzenie warunku wstępnego).
x-ms-if-sequence-number-eq: <num> Opcjonalny. Jeśli numer sekwencji obiektu blob jest równy określonej wartości, żądanie będzie kontynuowane; w przeciwnym razie kończy się niepowodzeniem z powodu błędu SequenceNumberConditionNotMet (kod stanu HTTP 412 — Niepowodzenie warunku wstępnego).
If-Modified-Since Opcjonalny. DateTime Wartość. Określ ten nagłówek warunkowy, aby zapisać stronę tylko wtedy, gdy obiekt blob został zmodyfikowany od określonej daty/godziny. Jeśli obiekt blob nie został zmodyfikowany, usługa Blob zwraca kod stanu 412 (Niepowodzenie warunku wstępnego).
If-Unmodified-Since Opcjonalny. DateTime Wartość. Określ ten nagłówek warunkowy, aby zapisać stronę tylko wtedy, gdy obiekt blob nie został zmodyfikowany od określonej daty/godziny. Jeśli obiekt blob został zmodyfikowany, usługa Blob zwraca kod stanu 412 (Niepowodzenie warunku wstępnego).
If-Match Opcjonalny. Wartość elementu ETag. Określ wartość elementu ETag dla tego nagłówka warunkowego, aby zapisać stronę tylko wtedy, gdy wartość elementu ETag obiektu blob jest zgodna z określoną wartością. Jeśli wartości nie są zgodne, usługa Blob service zwraca kod stanu 412 (Niepowodzenie warunku wstępnego).
If-None-Match Opcjonalny. Wartość elementu ETag.

Określ wartość elementu ETag dla tego nagłówka warunkowego, aby zapisać stronę tylko wtedy, gdy wartość elementu ETag obiektu blob jest niezgodna z określoną wartością. Jeśli wartości są identyczne, usługa Blob Service zwraca kod stanu 412 (Niepowodzenie warunku wstępnego).
x-ms-encryption-scope Opcjonalny. Wskazuje zakres szyfrowania używany do szyfrowania zawartości źródłowej. Ten nagłówek jest obsługiwany w wersjach 2019-02-02 lub nowszych.
x-ms-client-request-id Opcjonalny. Zapewnia nieprzezroczystą wartość wygenerowaną przez klienta z limitem 1 znaków KiB rejestrowanym w dziennikach analitycznych po włączeniu rejestrowania analizy magazynu. Używanie tego nagłówka jest wysoce zalecane do korelowania działań po stronie klienta z żądaniami odebranymi przez serwer. Aby uzyskać więcej informacji, zobacz About analityka magazynu Logging and Azure Logging: Using Logs to Track Storage Requests (Informacje o rejestrowaniu analityka magazynu i rejestrowaniu platformy Azure: używanie dzienników do śledzenia żądań Storage).

Ta operacja obsługuje również używanie nagłówków warunkowych do wykonywania operacji tylko wtedy, gdy zostanie spełniony określony warunek. Aby uzyskać więcej informacji, zobacz Określanie nagłówków warunkowych dla operacji usługi Blob Service.

Nagłówki żądań (klucze szyfrowania dostarczone przez klienta)

Począwszy od wersji 2019-02-02, w żądaniu szyfrowania obiektu blob zaszyfrowanego przy użyciu klucza dostarczonego przez klienta można określić następujące nagłówki. Szyfrowanie przy użyciu klucza dostarczonego przez klienta (i odpowiadającego mu zestawu nagłówków) jest opcjonalne.

Nagłówek żądania Opis
x-ms-encryption-key Wymagane. Klucz szyfrowania AES-256 zakodowany w formacie Base64.
x-ms-encryption-key-sha256 Wymagane. Skrót SHA256 zakodowany w formacie Base64 klucza szyfrowania.
x-ms-encryption-algorithm: AES256 Wymagane. Określa algorytm do użycia na potrzeby szyfrowania. Wartość tego nagłówka musi mieć wartość AES256.

Treść żądania

Treść żądania zawiera zawartość strony.

Przykładowe żądanie

  
Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=page HTTP/1.1  
  
Request Headers:   
x-ms-date: Fri, 16 Sep 2011 22:15:50 GMT  
x-ms-version: 2018-11-09  
x-ms-range: bytes=0-65535  
x-ms-copy-source: https://myaccount.blob.core.windows.net/mycontainer/myblob
x-ms-source-range: bytes=0-65535
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
Content-Length: 0  
  

Reakcja

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

Kod stanu

Pomyślna operacja zwraca kod stanu 201 (Utworzony).

Aby uzyskać informacje o kodach stanu, zobacz Status and Error Codes (Kody stanu i błędów).

Nagłówki odpowiedzi

Odpowiedź na tę operację zawiera następujące nagłówki. Odpowiedź może również zawierać dodatkowe standardowe nagłówki HTTP. Wszystkie standardowe nagłówki są zgodne ze specyfikacją protokołu HTTP/1.1.

Składnia Opis
ETag Element ETag dla obiektu blob. Jeśli wersja żądania to 2011-08-18 lub nowsza, wartość elementu ETag będzie znajdować się w cudzysłowie. Element ETag może służyć do wykonywania operacji warunkowej Put Page From URL , określając jego wartość dla nagłówka If-Match żądania lub If-None-Match .
Last-Modified Data i godzina ostatniej modyfikacji obiektu blob. Format daty jest zgodny z dokumentem RFC 1123. Aby uzyskać więcej informacji, zobacz Reprezentacja wartości Date-Time w nagłówkach.

Każda operacja zapisu obiektu blob, w tym aktualizacje metadanych lub właściwości obiektu blob, zmienia czas ostatniej modyfikacji obiektu blob.
Content-MD5 Ten nagłówek jest zwracany, aby klient mógł sprawdzić integralność zawartości wiadomości. Wartość tego nagłówka jest obliczana przez usługę Blob Service; niekoniecznie jest to ta sama wartość określona w nagłówkach żądania. W przypadku wersji 2019-02-02 lub nowszej ten nagłówek jest zwracany tylko wtedy, gdy żądanie ma ten nagłówek.
x-ms-content-crc64 W przypadku wersji 2019-02-02 lub nowszej ten nagłówek jest zwracany, aby klient mógł sprawdzić integralność zawartości wiadomości. Wartość tego nagłówka jest obliczana przez usługę Blob Service; niekoniecznie jest to ta sama wartość określona w nagłówkach żądania.

Ten nagłówek jest zwracany, gdy x-ms-source-content-md5 nagłówek nie jest obecny w żądaniu.
x-ms-blob-sequence-number Bieżący numer sekwencji stronicowego obiektu blob.
x-ms-request-id Ten nagłówek 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 Blob Service używaną do wykonania żądania. Ten nagłówek jest zwracany w przypadku żądań wysyłanych w wersji 2009-09-19 lub nowszej.
Date Wartość daty/godziny UTC wygenerowana przez usługę, która wskazuje godzinę, o której zainicjowano odpowiedź.
x-ms-request-server-encrypted: true/false Wersja 2015-12-11 lub nowsza. Wartość tego nagłówka jest ustawiana na true wartość , jeśli zawartość żądania została pomyślnie zaszyfrowana przy użyciu określonego algorytmu i false w inny sposób.
x-ms-encryption-key-sha256 Wersja 2019-02-02 lub nowsza. Ten nagłówek jest zwracany, jeśli żądanie użyło klucza dostarczonego przez klienta do szyfrowania, dzięki czemu klient może upewnić się, że zawartość żądania została pomyślnie zaszyfrowana przy użyciu podanego klucza.
x-ms-encryption-scope Wersja 2019-02-02 lub nowsza. Ten nagłówek jest zwracany, jeśli żądanie używa zakresu szyfrowania, dzięki czemu klient może upewnić się, że zawartość żądania została pomyślnie zaszyfrowana przy użyciu zakresu szyfrowania.
x-ms-client-request-id Ten nagłówek może służyć do rozwiązywania problemów z żądaniami i odpowiadającymi odpowiedziami. Wartość tego nagłówka jest równa wartości x-ms-client-request-id nagłówka, jeśli jest obecna w żądaniu, a wartość jest najwyżej 1024 widocznymi znakami ASCII. x-ms-client-request-id Jeśli nagłówek nie istnieje w żądaniu, ten nagłówek nie będzie obecny w odpowiedzi.

Treść odpowiedzi

Brak.

Przykładowa odpowiedź

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
x-ms-content-crc64: 77uWZTolTHU  
Date: Sun, 25 Sep 2011 22:33:35 GMT  
ETag: "0x8CB171BA9E94B0B"  
Last-Modified: Sun, 25 Sep 2011 12:13:31 GMT  
x-ms-version: 2011-08-18  
x-ms-blob-sequence-number: 0  
Content-Length: 0  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
  

Autoryzacja

Ta operacja może zostać wywołana przez właściciela konta i przez każdego, kto ma sygnaturę dostępu współdzielonego z uprawnieniami do zapisu w tym obiekcie blob lub jego kontenerze.

Uwagi

Operacja Put Page From URL zapisuje zakres stron w stronicowym obiekcie blob. Tę operację można wywołać tylko w istniejącym stronicowym obiekcie blob. Nie można go wywołać w celu utworzenia nowego stronicowego obiektu blob ani wywołać go w blokowym obiekcie blob. Wywołanie Put Page From URL przy użyciu nazwy obiektu blob, który obecnie nie istnieje, zwraca błąd BlobNotFound (kod stanu HTTP 404 — Nie znaleziono).

W wersji 2020-10-02 i nowszych autoryzacja Azure Active Directory jest obsługiwana dla źródła operacji kopiowania.

Aby utworzyć nowy stronicowy obiekt blob, wywołaj metodę Put Blob i określ typ obiektu blob do utworzenia jako stronicowy obiekt blob. Rozmiar stronicowego obiektu blob może wynosić do 8 TiB.

Jeśli obiekt blob ma aktywną dzierżawę, klient musi określić prawidłowy identyfikator dzierżawy w żądaniu, aby zapisać stronę.

Operacje aktualizacji strony

Wywołanie Put Page From URL wykonuje zapis w miejscu w określonym stronicowym obiekcie blob. Każda zawartość na określonej stronie zostanie zastąpiona aktualizacją.

Ważne

Jeśli upłynął limit czasu serwera lub połączenie zostało zamknięte podczas Put Page From URL, strona może lub nie została zaktualizowana. W związku z tym należy kontynuować ponawianie próby aktualizacji do momentu otrzymania odpowiedzi wskazującej powodzenie.

Każdy zakres stron przesłanych Put Page From URL dla operacji aktualizacji może mieć rozmiar do 4 MiB. Zakres początkowy i końcowy strony musi być wyrównany do granic 512-bajtowych. Jeśli spróbujesz przekazać zakres stron o rozmiarze większym niż 4 MB, usługa zwróci kod stanu 413 (Zbyt duża jednostka żądania).

Zarządzanie problemami współbieżności

Usługa Blob obsługuje równoczesne zapisy na nakładających się stronach sekwencyjnie: ostatnia strona przetworzona przez usługę określa zawartość obiektu blob. W związku z tym, aby zapewnić integralność zawartości obiektu blob, klient powinien obsługiwać zapisy na nakładających się stronach przy użyciu co najmniej jednej z następujących metod:

  • Możesz sprawdzić wartość nagłówka odpowiedzi dla każdego pomyślnego Last-Modified wywołania metody Put Page From URL. Kolejność odpowiedzi zwróconych z usługi Blob Service nie musi odpowiadać kolejności, w jakiej zostały wykonane przez usługę. Jednak wartość Last-Modified zawsze wskazuje kolejność przetwarzania żądań przez usługę.

  • Aktualizacje można wykonywać warunkowo na podstawie elementu ETag obiektu blob lub czasu ostatniej modyfikacji przy użyciu optymistycznej współbieżności. Takie podejście sprawdza się, jeśli liczba współbieżnych zapisów jest stosunkowo niska. W tym celu użyj nagłówków żądań warunkowych If-Match, If-None-Match, If-Modified-Sincei If-Unmodified-Since .

  • Obiekt blob dzierżawy można wywołać, aby zablokować obiekt blob względem innych zapisów przez jedną minutę lub dłużej, jeśli dzierżawa zostanie odnowiona.

  • Możesz użyć numeru sekwencji obiektu blob, aby upewnić się, że ponawianie żądania, dla którego nie było odpowiedzi, nie powoduje współbieżnych aktualizacji. Takie podejście może być najlepsze w przypadku klientów wymagających wysokiej przepływności w przypadku zapisów stron. Opisano go szczegółowo w poniższej sekcji.

Używanie stronicowego numeru sekwencji obiektów blob do ponawiania żądań

Gdy wywołanie do Put Page From URL przekroczenia limitu czasu lub nie zwraca odpowiedzi, nie ma możliwości ustalenia, czy żądanie zakończyło się pomyślnie. W związku z tym należy ponowić próbę wykonania żądania, ale ze względu na rozproszony charakter usług Azure Storage możliwe jest, że oryginalne żądanie może zostać przetworzone po pomyślnym ponowieniu żądania. Opóźnione oryginalne żądanie może zastąpić inne aktualizacje i spowodować nieoczekiwany wynik. Poniższa sekwencja ilustruje, jak to może się zdarzyć:

  1. Żądanie Put Page From URL zapisu wartości "X" na stronie 0 przekracza limit czasu lub nie zwraca odpowiedzi.

  2. Ponowienia żądania zapisu wartości "X" do strony 0 powiodło się.

  3. Żądanie zapisu wartości "Y" do strony 0 kończy się powodzeniem.

  4. Oryginalne żądanie powiedzie się, zapisują wartość "X" do strony 0.

  5. Odczytywanie strony 0 zwraca wartość "X", gdy w tym momencie klient oczekiwał wartości "Y".

Ten rodzaj konfliktu może wystąpić, gdy oryginalne żądanie nie zwraca kodu stanu z zakresu od 100 do 499 lub 503 (serwer zajęty). Jeśli zostanie zwrócony jeden z tych kodów stanu, możesz mieć pewność, czy żądanie zakończyło się powodzeniem, czy niepowodzeniem. Jeśli jednak usługa zwróci kod stanu poza tym zakresem, nie ma możliwości poznania stanu oryginalnego żądania.

Aby zapobiec tego rodzaju konfliktom, możesz użyć numeru sekwencji stronicowego obiektu blob, aby upewnić się, że po ponowieniu żądania oryginalne żądanie nie powiedzie się później. W tym celu należy zwiększać numer sekwencji przed ponowieniem próby wykonania oryginalnego żądania. Następnie można użyć nagłówków numeru sekwencji warunkowej, aby upewnić się, że żądanie zakończy się niepowodzeniem, jeśli jego numer sekwencji nie jest zgodny z oczekiwanym numerem sekwencji. Poniższa sekwencja ilustruje to podejście:

  1. Klient tworzy stronicowy obiekt blob z funkcją Put Blob i ustawia numer sekwencji na 0.

  2. Żądanie Put Page From URL zapisania wartości "X" do strony 0 z nagłówkiem if-sequence-number-lt ustawionym na 1 limit czasu lub nie zwraca odpowiedzi.

  3. Klient wywołuje polecenie Ustaw właściwości obiektu blob, aby zaktualizować numer sekwencji do 1.

  4. Ponawiane żądanie zapisu wartości "X" do strony 0 z if-sequence-number-lt ustawionym na 2 powodzenie.

  5. Żądanie zapisu wartości "Y" na stronę 0 z if-sequence-number-lt ustawionym na 2 powodzenie.

  6. Oryginalne żądanie jest ostatecznie przetwarzane, ale kończy się niepowodzeniem, ponieważ określa warunek, że numer sekwencji musi być mniejszy niż 1 (oznacza to, if-sequence-num-lt że nagłówek jest ustawiony na 1wartość ). Błąd to SequenceNumberConditionNotMet (kod stanu HTTP 412 — Niepowodzenie warunku wstępnego).

  7. Odczytywanie strony 0 zwraca oczekiwaną wartość "Y".

Zobacz też

Autoryzowanie żądań do usługi Azure Storage
Kody stanu i błędów
Ustawianie limitów czasu dla operacji usługi Blob Service