Aracılığıyla paylaş


Sayfa Koy

İşlem, Put Page sayfa blob'una bir sayfa aralığı yazar.

İstek

İsteği aşağıdaki gibi oluşturabilirsiniz Put Page . HTTPS kullanmanızı öneririz. myaccount değerini depolama hesabınızın adıyla değiştirin:

PUT yöntemi istek URI'si HTTP sürümü
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=page HTTP/1.1

Öykünülmüş depolama hizmeti isteği

Öykünülen depolama hizmetine karşı istekte bulunulduğunda öykünücü konak adını ve Blob hizmeti bağlantı noktasını olarak 127.0.0.1:10000ve ardından öykünülen depolama hesabı adını belirtin:

PUT yöntemi istek URI'si HTTP sürümü
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=page HTTP/1.1

Daha fazla bilgi için bkz . Yerel Azure Depolama geliştirmesi için Azurite öykünücüsü kullanma.

URI parametreleri

İstek URI'sinde aşağıdaki ek parametreleri belirtebilirsiniz:

Parametre Açıklama
timeout İsteğe bağlı. timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Blob hizmeti işlemleri için zaman aşımlarını ayarlama.

İstek üst bilgileri

Gerekli ve isteğe bağlı istek üst bilgileri aşağıdaki tabloda açıklanmıştır:

İstek üst bilgisi Açıklama
Authorization Gereklidir. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme.
Date veya x-ms-date Gereklidir. İstek için Eşgüdümlü Evrensel Saat (UTC) biçimini belirtir. Daha fazla bilgi için bkz. Azure Depolama isteklerini yetkilendirme.
x-ms-version Tüm yetkili istekler için gereklidir. Bu istek için kullanılacak işlemin sürümünü belirtir. Daha fazla bilgi için bkz. Azure Depolama hizmetleri için sürüm oluşturma.
Range Range veya x-ms-range gereklidir.

Sayfa olarak yazılacak bayt aralığını belirtir. Aralığın hem başlangıcı hem de sonu belirtilmelidir. Bu üst bilgi HTTP/1.1 protokol belirtimi tarafından tanımlanır.

Sayfa güncelleştirme işlemi için sayfa aralığı en fazla 4 MiB olabilir. Sayfa temizleme işlemi için, sayfa aralığı blobun tam boyutunun değeri kadar büyük olabilir.

Sayfaların 512 baytlık sınırlarla hizalanması gerektiğinden, başlangıç uzaklığı 512 modulu olmalı ve bitiş uzaklığı 512 –1 modülü olmalıdır. Geçerli bayt aralıklarına örnek olarak 0-511, 512-1023 vb. verilebilir.

Blob Depolama üst bilgi için Range yalnızca tek bir bayt aralığı kabul eder ve bayt aralığı şu biçimde belirtilmelidir: bytes=startByte-endByte.

hem x-ms-range hem de Range belirtilirse, hizmet değerini x-ms-rangekullanır. Daha fazla bilgi için bkz. Blob hizmeti işlemleri için aralık üst bilgisini belirtme.
x-ms-range Range veya x-ms-range gereklidir.

Sayfa olarak yazılacak bayt aralığını belirtir. Aralığın hem başlangıcı hem de sonu belirtilmelidir. Bu üst bilgi HTTP/1.1 protokol belirtimi tarafından tanımlanır.

Sayfa güncelleştirme işlemi için sayfa aralığının boyutu 4 MiB kadar büyük olabilir. Sayfa temizleme işlemi için, sayfa aralığı blobun tam boyutunun değerine kadar olabilir.

Sayfaların 512 baytlık sınırlarla hizalanması gerektiğinden, başlangıç uzaklığı 512 modulu olmalı ve bitiş uzaklığı 512 – 1 modülü olmalıdır. Geçerli bayt aralıklarına örnek olarak 0-511, 512-1023 vb. verilebilir.

Blob Depolama üst bilgi için x-ms-range yalnızca tek bir bayt aralığı kabul eder ve bayt aralığı şu biçimde belirtilmelidir: bytes=startByte-endByte.

hem x-ms-range hem de Range belirtilirse, hizmet değerini x-ms-rangekullanır. Daha fazla bilgi için bkz. Blob hizmeti işlemleri için aralık üst bilgisini belirtme .
Content-Length Gereklidir. İstek gövdesinde iletilen bayt sayısını belirtir. x-ms-page-write Üst bilgi olarak ayarlandığındaclear, bu üst bilginin değeri olarak 0ayarlanmalıdır.
Content-MD5 İsteğe bağlı. Sayfa içeriğinin MD5 karması. Bu karma, taşıma sırasında sayfanın bütünlüğünü doğrulamak için kullanılır. Bu üst bilgi belirtildiğinde, depolama hizmeti bu üst bilgi değeriyle gelen içeriğin karmasıyla karşılaştırır.
<br / >Not: Bu MD5 karması blobla birlikte depolanmaz.

İki karma eşleşmezse işlem 400 (Hatalı İstek) hata koduyla başarısız olur.
x-ms-content-crc64 İsteğe bağlı. Sayfa içeriğinin CRC64 karması. Bu karma, taşıma sırasında sayfanın bütünlüğünü doğrulamak için kullanılır. Bu üst bilgi belirtildiğinde, depolama hizmeti bu üst bilgi değeriyle gelen içeriğin karmasıyla karşılaştırır.

Not: Bu CRC64 karması blob ile birlikte depolanmaz.

İki karma eşleşmezse işlem 400 (Hatalı İstek) hata koduyla başarısız olur.

Hem hem x-ms-content-crc64 de Content-MD5 üst bilgileri varsa, istek 400 (Hatalı İstek) ile başarısız olur.

Bu üst bilgi 2019-02-02 ve sonraki sürümlerde desteklenir.
x-ms-page-write: {update ¦ clear} Gereklidir. Aşağıdaki seçeneklerden birini belirtebilirsiniz:

- Update: İstek gövdesi tarafından belirtilen baytları belirtilen aralığa yazar. Range Güncelleştirmeyi gerçekleştirmek için ve Content-Length üst bilgileri eşleşmelidir.
- Clear: Belirtilen aralığı temizler ve bu aralık için depolama alanında kullanılan alanı serbest bırakır. Aralığı temizlemek için üst bilgiyi 0olarak ayarlayın Content-Length ve üst bilgiyi temizlenip temizlenmek Range üzere aralığın en büyük blob boyutuna kadar olduğunu belirten bir değere ayarlayın.
x-ms-encryption-scope İsteğe bağlı. İstek içeriğini şifrelemek için kullanılacak şifreleme kapsamını gösterir. Bu üst bilgi 2019-02-02 ve sonraki sürümlerde desteklenir.
x-ms-lease-id:<ID> Blob etkin bir kiraya sahipse gereklidir. Etkin kiralaması olan bir blobda bu işlemi gerçekleştirmek için bu üst bilgi için geçerli kira kimliğini belirtin.
x-ms-if-sequence-number-le: <num> İsteğe bağlı. Blob'un sıra numarası belirtilen değerden küçük veya buna eşitse istek devam eder. Aksi takdirde SequenceNumberConditionNotMet hatasıyla başarısız olur (HTTP durum kodu 412 – Önkoşul Başarısız oldu).
x-ms-if-sequence-number-lt: <num> İsteğe bağlı. Blob'un sıra numarası belirtilen değerden küçükse istek devam eder. Aksi takdirde SequenceNumberConditionNotMet hatasıyla başarısız olur (HTTP durum kodu 412 – Önkoşul Başarısız oldu).
x-ms-if-sequence-number-eq: <num> İsteğe bağlı. Blob'un sıra numarası belirtilen değere eşitse istek devam eder. Aksi takdirde SequenceNumberConditionNotMet hatasıyla başarısız olur (HTTP durum kodu 412 – Önkoşul Başarısız oldu).
If-Modified-Since İsteğe bağlı. Bir DateTime değer. Sayfayı yazmak için bu koşullu üst bilgiyi yalnızca blob belirtilen tarih/saatten sonra değiştirilmişse belirtin. Blob değiştirilmediyse, Blob Depolama 412 durum kodunu döndürür (Önkoşul Başarısız oldu).
If-Unmodified-Since İsteğe bağlı. Bir DateTime değer. Sayfayı yazmak için bu koşullu üst bilgiyi yalnızca blob belirtilen tarih/saatten sonra değiştirilmediyse belirtin. Blob değiştirildiyse, Blob Depolama 412 (Önkoşul Başarısız) durum kodunu döndürür.
If-Match İsteğe bağlı. ETag değeri. Yalnızca blob'un ETag değeri belirtilen değerle eşleşiyorsa sayfayı yazmak için bu koşullu üst bilgi için bir ETag değeri belirtin. Değerler eşleşmiyorsa, Blob Depolama 412 durum kodunu döndürür (Önkoşul Başarısız oldu).
If-None-Match İsteğe bağlı. ETag değeri.

Yalnızca blob'un ETag değeri belirtilen değerle eşleşmiyorsa sayfayı yazmak için bu koşullu üst bilgi için bir ETag değeri belirtin. Değerler aynıysa, Blob Depolama 412 (Önkoşul Başarısız) durum kodunu döndürür.
x-ms-client-request-id İsteğe bağlı. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibaytlık (KiB) karakter sınırıyla istemci tarafından oluşturulan, opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucunun aldığı istekler arasında bağıntı sağlamak için bu üst bilgiyi kullanmanızı kesinlikle öneririz. Daha fazla bilgi için bkz. İzleme Azure Blob Depolama.

Bu işlem, yalnızca belirtilen bir koşul karşılandığında işlemi yürütmek için koşullu üst bilgilerin kullanımını da destekler. Daha fazla bilgi için bkz. Blob hizmeti işlemleri için koşullu üst bilgileri belirtme.

İstek üst bilgileri (müşteri tarafından sağlanan şifreleme anahtarları)

2019-02-02 sürümünden itibaren, müşteri tarafından sağlanan bir anahtarla bir blobu şifreleme isteğinde aşağıdaki üst bilgileri belirtebilirsiniz. Müşteri tarafından sağlanan anahtarla (ve ilgili üst bilgi kümesiyle) şifreleme isteğe bağlıdır.

İstek üst bilgisi Açıklama
x-ms-encryption-key Gereklidir. Base64 kodlu AES-256 şifreleme anahtarı.
x-ms-encryption-key-sha256 Gereklidir. Şifreleme anahtarının Base64 kodlamalı SHA256 karması.
x-ms-encryption-algorithm: AES256 Gereklidir. Şifreleme için kullanılacak algoritmayı belirtir. Bu üst bilginin değeri olmalıdır AES256.

İstek gövdesi

İstek gövdesi sayfanın içeriğini içerir.

Örnek istek: Bayt aralığını güncelleştirme

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

Örnek istek: Bayt aralığını temizleme

  
Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=page HTTP/1.1  
  
Request Headers:  
Range: bytes=1024-2048  
x-ms-page-write: clear  
x-ms-date: Sun, 25 Sep 2011 23:37:35 GMT  
x-ms-version: 2011-08-18  
Authorization: SharedKey myaccount:4KdWDiTdA9HmIF9+WF/8WfYOpUrFhieGIT7f0av+GEI=  
  

Yanıt

Yanıt bir HTTP durum kodu ve yanıt üst bilgileri kümesi içerir.

Durum kodu

Başarılı bir işlem 201 (Oluşturuldu) durum kodunu döndürür.

Durum kodları hakkında daha fazla bilgi için bkz . Durum ve hata kodları.

Yanıt üst bilgileri

Bu işlemin yanıtı aşağıdaki üst bilgileri içerir. Yanıt, ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.

Syntax Description
ETag Blob için ETag. İstek sürümü 2011-08-18 ve üzeriyse, ETag değeri tırnak içine alınır. ETag, veya If-None-Match istek üst bilgisi için değerini belirterek koşullu Put Page işlem gerçekleştirmek için If-Match kullanılabilir.
Last-Modified Blob'un en son değiştirildiği tarih ve saat. Tarih biçimi RFC 1123'e göredir. Daha fazla bilgi için bkz. Üst bilgilerde tarih/saat değerlerini temsil edin.

Blobun meta verilerine veya özelliklerine yönelik güncelleştirmeler de dahil olmak üzere blob üzerindeki herhangi bir yazma işlemi, blobun son değiştirme zamanını değiştirir.
Content-MD5 İstemcinin ileti içerik bütünlüğünü denetleyebilmesi için bu üst bilgi döndürülür. Bu üst bilginin değeri Blob Depolama tarafından hesaplanır. İstek üst bilgilerinde belirtilen değerle aynı olmayabilir. Sürüm 2019-02-02 ve üzeri için, bu üst bilgi yalnızca istekte bu üst bilgi olduğunda döndürülür.
x-ms-content-crc64 sürüm 2019-02-02 veya üzeri için, istemcinin ileti içerik bütünlüğünü denetleyebilmesi için bu üst bilgi döndürülür. Bu üst bilginin değeri Blob Depolama tarafından hesaplanır. İstek üst bilgilerinde belirtilen değerle aynı olmayabilir.

İstekte üst bilgi olmadığında Content-MD5 bu üst bilgi döndürülür.
x-ms-blob-sequence-number Sayfa blobu için geçerli sıra numarası.
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve isteğin sorunlarını gidermek için kullanılabilir. Daha fazla bilgi için bkz. API işlemleriyle ilgili sorunları giderme.
x-ms-version İsteği yürütmek için kullanılan Blob hizmeti sürümünü gösterir. Bu üst bilgi, 2009-09-19 ve sonraki sürümlerde yapılan istekler için döndürülür.
Date Hizmet tarafından oluşturulan ve yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri.
x-ms-request-server-encrypted: true/false Sürüm 2015-12-11 ve üzeri. İsteğin içeriği belirtilen algoritma kullanılarak başarıyla şifrelenirse bu üst bilginin değeri olarak ayarlanır true . Aksi takdirde, değer olarak falseayarlanır.
x-ms-encryption-key-sha256 Sürüm 2019-02-02 ve üzeri. İstek şifreleme için müşteri tarafından sağlanan bir anahtar kullandıysa döndürülür; böylece istemci, isteğin içeriğinin sağlanan anahtar kullanılarak başarıyla şifrelenmesini sağlayabilir.
x-ms-encryption-scope Sürüm 2019-02-02 ve üzeri. İstek bir şifreleme kapsamı kullandıysa döndürülür; böylece istemci, isteğin içeriğinin şifreleme kapsamı kullanılarak başarıyla şifrelenmesini sağlayabilir.
x-ms-client-request-id İsteklerin ve karşılık gelen yanıtların sorunlarını gidermek için kullanılabilir. Bu üst bilginin değeri, istekte mevcutsa ve değer 1.024'ten fazla görünür ASCII karakteri içermiyorsa üst bilginin değerine x-ms-client-request-id eşittir. x-ms-client-request-id Üst bilgi istekte yoksa yanıtta bulunmaz.

Yanıt gövdesi

Yok.

Örnek yanıt

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
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  
  

Yetkilendirme

Azure Depolama'da herhangi bir veri erişimi işlemi çağrılırken yetkilendirme gereklidir. İşlemi aşağıda açıklandığı gibi yetki Put Page verebilirsiniz.

Önemli

Microsoft, Azure Depolama'ya yönelik istekleri yetkilendirmek için yönetilen kimliklerle Microsoft Entra ID kullanılmasını önerir. Microsoft Entra ID, Paylaşılan Anahtar yetkilendirmesine kıyasla üstün güvenlik ve kullanım kolaylığı sağlar.

Azure Depolama, blob verilerine yönelik istekleri yetkilendirmek için Microsoft Entra ID kullanılmasını destekler. Microsoft Entra ID ile Azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak güvenlik sorumlusuna izinler verilmektedir. Güvenlik sorumlusu bir kullanıcı, grup, uygulama hizmet sorumlusu veya Azure yönetilen kimliği olabilir. Güvenlik sorumlusunun kimliği, OAuth 2.0 belirtecini döndürmek için Microsoft Entra ID tarafından doğrulanır. Belirteç daha sonra Blob hizmetine karşı bir isteği yetkilendirmek için kullanılabilir.

Microsoft Entra ID kullanarak yetkilendirme hakkında daha fazla bilgi edinmek için bkz. Microsoft Entra ID kullanarak bloblara erişimi yetkilendirme.

İzinler

Aşağıda, Microsoft Entra kullanıcı, grup, yönetilen kimlik veya hizmet sorumlusunun işlemi çağırması Put Page için gereken RBAC eylemi ve bu eylemi içeren en az ayrıcalıklı yerleşik Azure RBAC rolü verilmiştir:

Azure RBAC kullanarak rol atama hakkında daha fazla bilgi edinmek için bkz. Blob verilerine erişim için Azure rolü atama.

Açıklamalar

İşlem, Put Page sayfa blobuna bir sayfa aralığı yazar. Bu işlem yalnızca mevcut bir sayfa blobu üzerinde çağrılabilir. Yeni sayfa blobu oluşturmak için çağrılamıyor veya blok blobu üzerinde çağrılamıyor. Şu anda mevcut olmayan bir blob adıyla çağrılması Put Page HTTP durum kodu 404 (Bulunamadı) döndürür.

Yeni bir sayfa blobu oluşturmak için Put Blob'u çağırın ve sayfa blobu olarak oluşturulacak blob türünü belirtin. Sayfa blobu boyutu en fazla 8 TiB olabilir.

Blobda etkin bir kira varsa, istemcinin sayfa yazmak için istekte geçerli bir kira kimliği belirtmesi gerekir.

Sayfa güncelleştirme işlemleri

seçeneğiyle çağırmak Put PageUpdate , belirtilen sayfa blobunda yerinde yazma işlemi gerçekleştirir. Belirtilen sayfadaki tüm içeriğin üzerine güncelleştirmeyle birlikte yazılır.

Önemli

Sunucu zaman aşımına uğradıysa veya bağlantınız bir Put Page işlem sırasında kapatıldıysa, sayfa güncelleştirilmiş veya güncelleştirilmemiş olabilir. Bu nedenle, başarılı olduğunu belirten bir yanıt alıncaya kadar güncelleştirmeyi yeniden denemeniz gerekir.

Güncelleştirme işlemi için ile gönderilen Put Page her sayfa aralığının boyutu 4 MiB'a kadar olabilir. Sayfanın başlangıç ve bitiş aralığı 512 baytlık sınırlarla hizalanmalıdır. 4 MiB'den büyük bir sayfa aralığını karşıya yüklemeye çalışırsanız, hizmet durum kodu 413 'i (İstek Varlığı Çok Büyük) döndürür.

Sayfa temizleme işlemleri

seçeneğiyle çağırmak Put PageClear , belirtilen sayfa tarafından kullanılan depolama alanını serbest bırakır. Temizlenen sayfalar artık sayfa blobunun bir parçası olarak izlenmez.

Temizlenen sayfalar artık depolama hesabı için ücret ödemez, çünkü depolama kaynakları serbest bırakılmıştır. Bunun tek istisnası, sayfa blobunun mevcut anlık görüntüleri olmasıdır. Kaynak blobun bir parçası olarak aynı sayfalar artık yoksa anlık görüntülerdeki sayfalar ücretlendirilir.

Eşzamanlılık sorunlarını yönetme

Blob Depolama, çakışan sayfalara eşzamanlı yazma işlemlerini sıralı olarak işler. Başka bir ifadeyle, hizmet tarafından işlenen son sayfa blob'un içeriğini belirler. Bu nedenle, blob içeriğinin bütünlüğünü sağlamak için istemcinin aşağıdaki yaklaşımlardan birini veya daha fazlasını kullanarak çakışan sayfalara yazma işlemlerini işlemesi gerekir:

  • her başarılı çağrısı Put Pageiçin yanıt üst bilgisinin Last-Modified değerini de kontrol edebilirsiniz. Blob Depolama'dan döndürülen yanıtların sırası, hizmet tarafından yürütülme sırasına karşılık gelmez. Ancak değeri Last-Modified her zaman hizmetin istekleri işleme sırasını gösterir.

  • İyimser eşzamanlılığı kullanarak blob'un ETag'ine veya son değiştirme zamanına göre güncelleştirmeleri koşullu olarak gerçekleştirebilirsiniz. Eş zamanlı yazma sayısı nispeten düşükse bu yaklaşım iyi çalışır. Bu amaçla , , If-None-MatchIf-Modified-Sinceve If-Unmodified-Since koşullu istek üst bilgilerini If-Matchkullanın.

  • Kira Blobunu çağırarak blobu bir dakika veya kira yenilenirse daha uzun bir süre boyunca diğer yazma işlemlerine karşı kilitleyebilirsiniz.

  • Yanıtı olmayan bir isteği yeniden denemenin eşzamanlı güncelleştirmelere neden olmadığından emin olmak için blob'un sıra numarasını kullanabilirsiniz. Bu yaklaşım, sayfa yazma işlemleri için yüksek aktarım hızı gerektiren istemciler için en iyi yöntem olabilir. Bu, aşağıdaki bölümde ayrıntılı olarak açıklanmıştır.

İstekleri yeniden denemek için sayfa blobu sıra numarasını kullanma

Çağrısı zaman aşımına Put Page uğradıysa veya yanıt döndürmediğinde, isteğin başarılı olup olmadığını öğrenmenin hiçbir yolu yoktur. Bu nedenle isteği yeniden denemeniz gerekir, ancak Azure depolama hizmetlerinin dağıtılmış yapısı nedeniyle, yeniden denenen istek başarılı olduktan sonra özgün istek işlenebilir. Gecikmeli özgün istek diğer güncelleştirmelerin üzerine yazabilir ve beklenmeyen bir sonuç verebilir. Aşağıdaki dizide bunun nasıl olabileceği gösterilmektedir:

  1. Put Page 0. sayfaya "X" değeri yazma isteği zaman aşımına uğradı veya yanıt döndürmedi.

  2. 0. sayfaya "X" değeri yazmak için yeniden denenen istek başarılı olur.

  3. 0. sayfaya "Y" değeri yazma isteği başarılı olur.

  4. Özgün istek başarılı olur ve sayfa 0'a "X" değeri yazar.

  5. Okuma sayfası 0, istemci bu noktada "Y" değerini beklerken "X" değerini döndürür.

Özgün istek 100 ile 499 veya 503 (Sunucu Meşgul) durum kodu döndürmediğinde bu tür bir çakışma oluşabilir. Bu durum kodlarından biri döndürülürse, isteğin başarılı mı yoksa başarısız mı olduğundan emin olabilirsiniz. Ancak hizmet bu aralığın dışında bir durum kodu döndürürse, özgün isteğin durumunu bilmenin hiçbir yolu yoktur.

Bu tür bir çakışmayı önlemek için, bir isteği yeniden denediğinizde özgün isteğin başarılı olmayacağından emin olmak için sayfa blobunun sıra numarasını kullanabilirsiniz. Bunu yapmak için, özgün isteği yeniden denemeden önce sıra numarasını artırmanız gerekir. Ardından, sıra numarası beklenen sıra numarasıyla eşleşmiyorsa isteğin başarısız olduğundan emin olmak için koşullu sıra numarası üst bilgilerini kullanabilirsiniz. Aşağıdaki dizide bu yaklaşım gösterilmektedir:

  1. İstemci, Put Blob ile bir sayfa blobu oluşturur ve sıra numarasını olarak 0ayarlar.

  2. Put Page Üst bilgi zaman aşımına ayarlı veya yanıt döndürmeyen 0if-sequence-number-lt. sayfaya 1 "X" değeri yazma isteği.

  3. İstemci, sıra numarasını olarak güncelleştirmek için 1öğesini çağırırSet Blob Properties.

  4. "X" değerinin 0 if-sequence-number-lt . sayfaya yazılıp başarılı olacak şekilde ayarlanması için 2 yeniden denenen istek.

  5. "Y" değerinin 0 if-sequence-number-lt . sayfaya yazılıp başarılı olarak ayarlanması isteği 2 .

  6. Özgün istek son olarak işlenir, ancak sıra numarasının 1'den küçük olması koşulunu belirttiğinden başarısız olur (üst if-sequence-num-lt bilgi olarak 1ayarlanır). Hata SequenceNumberConditionNotMet (HTTP durum kodu 412 – Önkoşul Başarısız oldu) hatasıdır.

  7. Okuma sayfası 0 beklenen "Y" değerini döndürür.

Ayrıca bkz.

Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları
Blob hizmeti işlemleri için zaman aşımlarını ayarlama