Azure Depolama için sürüm oluşturma
Azure Depolama birden çok sürümü destekler. Depolama hizmetlerine istek göndermek için anonim istekler haricinde işlem için kullanmak istediğiniz sürümü belirtmeniz gerekir.
Azure depolama hizmetlerinin geçerli sürümü 2023-11-03'tür ve mümkün olduğunca kullanmanızı öneririz. Desteklenen diğer tüm sürümlerin listesi ve her sürümü kullanma hakkında bilgi için bkz . Önceki Azure Depolama hizmeti sürümleri.
2023-11-03 hizmet sürümü aşağıdaki özellikleri içerir:
- Yok.
İsteklerde hizmet sürümlerini belirtme
bir istek için kullanılacak depolama hizmetlerinin sürümünü nasıl belirttiğiniz, isteğin nasıl yetkilendirildiğini belirtir. Aşağıdaki bölümlerde yetkilendirme seçenekleri ve her biri için hizmet sürümünün nasıl belirtildiği açıklanmaktadır.
Microsoft Entra'den OAuth 2.0 belirteci kullanan istekler: bir isteği Microsoft Entra ID yetkilendirmek için istekte üst bilgiyi 2017-11-09 veya üzeri bir hizmet sürümüyle geçirin
x-ms-version
. Daha fazla bilgi için bkz. Microsoft Entra ID ile yetkilendirme bölümünde OAuth belirteçleriyle depolama işlemlerini çağırma.Paylaşılan Anahtar veya Paylaşılan Anahtar Lite kullanan istekler: Paylaşılan Anahtar veya Paylaşılan Anahtar Lite ile bir isteği yetkilendirmek için isteğin
x-ms-version
üst bilgisini geçirin. Azure Blob Depolama durumunda, Blob Hizmeti Özelliklerini Ayarla'yı çağırarak tüm istekler için varsayılan sürümü belirtebilirsiniz.Paylaşılan erişim imzası (SAS) kullanan istekler: Paylaşılan erişim imzası üzerinde iki sürüm oluşturma seçeneği belirtebilirsiniz. İsteğe bağlı
api-version
üst bilgi, API işlemini yürütmek için hangi hizmet sürümünün kullanılacağını gösterir. GerekliSignedVersion (sv)
parametre, SAS ile yapılan isteği yetkilendirmek için kullanılacak hizmet sürümünü belirtir.api-version
Üst bilgi belirtilmezse, parametresininSignedVersion (sv)
değeri API işlemini yürütmek için kullanılacak sürümü de gösterir.Anonim erişim kullanan istekler: Blob Depolama'ya karşı anonim erişim söz konusu olduğunda hiçbir sürüm geçirilmedi. İstek için hangi sürümün kullanılacağını belirlemeye yönelik buluşsal yöntemler sonraki bölümlerde açıklanmıştır.
Microsoft Entra ID, Paylaşılan Anahtar veya Paylaşılan Anahtar Lite kullanarak istekleri yetkilendirme
bir isteği Microsoft Entra ID, Paylaşılan Anahtar veya Paylaşılan Anahtar Lite ile yetkilendirmek için istekte x-ms-version
üst bilgiyi belirtin. İstek x-ms-version
üst bilgisi değeri YYYY-AA-GG biçiminde belirtilmelidir. Örnek:
Request Headers:
x-ms-version: 2020-04-08
Aşağıdaki kurallar, isteği işlemek için hangi sürümün kullanılacağını belirlemek için bu isteklerin nasıl değerlendirildiğini açıklar.
bir isteğin geçerli
x-ms-version
bir üst bilgisi varsa, depolama hizmeti belirtilen sürümü kullanır. Paylaşılan erişim imzası kullanmayan tüm Azure Tablo Depolama ve Azure Kuyruk Depolama istekleri birx-ms-version
üst bilgi belirtmelidir. Bir sonraki paragrafta açıklandığı gibi varsayılan sürüm ayarlanmadığı sürece, paylaşılan erişim imzası kullanmayan tüm Blob Depolama istekleri birx-ms-version
üst bilgi belirtmelidir.Blob Depolama'ya
x-ms-version
yönelik bir isteğin üst bilgisi yoksa ancak hesap sahibi Blob Hizmeti Özelliklerini Ayarla işlemini kullanarak varsayılan bir sürüm ayarlamışsa, isteğin sürümü olarak belirtilen varsayılan sürüm kullanılır.
Paylaşılan erişim imzası kullanarak istekleri yetkilendirme
2014-02-14 veya sonraki bir sürüm kullanılarak oluşturulan paylaşılan erişim imzası (SAS), iki sürüm oluşturma seçeneğini destekler:
Sorgu
api-version
parametresi, SAS kullanılarak yapılan bir isteği işlemek için kullanılacak REST protokolü sürümünü tanımlar.Sorgu
SignedVersion (sv)
parametresi, yetkilendirme için kullanılacak SAS sürümünü tanımlar.
Sorgu SignedVersion
parametresi, bir istemci SAS kullanarak istekte bulunursa yetkilendirme için kullanılır. , , , , sp
, sig
, , st
, se
, epk
tn
srk
spk
erk
ve gibi si
yetkilendirme parametrelerinin tümü belirtilen sürüm kullanılarak yorumlanır. sr
, , rscd
rsce
, rscl
ve rsct
gibi rscc
REST protokolü parametreleri, parametre üst bilgisinde api-version
sağlanan sürüm kullanılarak zorlanır. api-version
Üst bilgi belirtilmezse, için SignedVersion
sağlanan hizmet sürümü kullanılır.
api-version
parametresi, hizmet SAS'ı oluşturma bölümünde açıklandığı gibi yetkilendirme üst bilgisinde oturum açma dizesinin bir parçası değildir.
Aşağıdaki tabloda, parametre 2014-02-14 veya sonraki bir sürüme ayarlandığında yetkilendirme ve REST protokollerini SignedVersion
çağırmak için hizmet tarafından kullanılan sürüm oluşturma şeması açıklanmaktadır.
api-version parametresinin değeri | Yetkilendirme için kullanılan sürüm | Protokol davranışı için kullanılan sürüm |
---|---|---|
Belirtilmemiş | parametresinde sv belirtilen sürüm |
parametresinde sv belirtilen sürüm |
Biçimdeki tüm geçerli depolama hizmetleri sürümleri XXXX-XX-XX |
parametresinde sv belirtilen sürüm |
Geçerli depolama hizmetleri sürümü XXXX-XX-XX |
Örnek 1
Aşağıdaki örnek istek, Parametresiz api-version
ve ile sv=2015-04-05
Liste Bloblarını çağırır.
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2015-04-05&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d
Bu durumda hizmet, 2015-04-05 sürümünü kullanarak isteğin kimliğini doğrular ve yetkisini alır ve işlemi 2015-04-05 sürümünü kullanarak çalıştırır.
Örnek 2
Aşağıdaki örnek istek, ve parametresiyle sv=2015-04-05
api-version
Liste Bloblarını çağırır.
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2015-04-05&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d&api-version=2012-02-12
Burada hizmet, isteği 2015-04-05 sürümünü kullanarak yetkiler ve işlemi 2012-02-12 sürümünü kullanarak çalıştırır.
Not
.NET Depolama istemci kitaplığı rest protokolü sürümünü (parametresinde api-version
) her zaman temel alındığı sürüme ayarlar.
Anonim erişim yoluyla istekler
Anonim erişim aracılığıyla yapılan istekler, karşı geldikleri depolama hesabının türüne bağlı olarak farklı şekilde işlenir.
Genel amaçlı depolama hesapları için
Genel amaçlı depolama hesabına yönelik anonim bir istek üst bilgiyi belirtmezse x-ms-version
ve hizmet için varsayılan sürüm Blob Hizmeti Özelliklerini Ayarla kullanılarak ayarlanmamışsa, hizmet isteği işlemek için mümkün olan en erken sürümü kullanır. Ancak, kapsayıcı 2009-09-19 veya sonraki bir sürüm kullanılarak gerçekleştirilen bir Kapsayıcı ACL'sini Ayarla işlemiyle genel kullanıma açık hale getirildiyse, istek 2009-09-19 sürümü kullanılarak işlenir.
Blob Depolama hesapları için
Blob Depolama hesabına yönelik anonim bir istek üst bilgiyi belirtmezse x-ms-version
ve hizmet için varsayılan sürüm Blob Hizmeti Özelliklerini Ayarla kullanılarak ayarlanmamışsa, hizmet isteği işlemek için mümkün olan en eski sürümü kullanır. Blob Depolama hesabı için mümkün olan en erken sürüm 2014-02-14'dür.
Bilinen sorunlar
Bu bölümde Azure Depolama REST API'leriyle ilgili bilinen sorunlar ayrıntılı olarak açıklanmaktadır.
InvalidHeaderValue
hata iletisi
Nadir senaryolarda, doğrudan REST API çağrıları yapan uygulamalar hata InvalidHeaderValue
iletisi alabilir. Hata aşağıdaki örneğe benzer:
HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
<?xml version="1.0" encoding="utf-8"?><Error><Code>InvalidHeaderValue</Code><Message>The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z</Message><HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue></Error>
Sorunun çözülip çözülmediğini görmek için önceki bir REST API sürümünü kullanmanız önerilir. Sorun devam ederse veya öneri uygun değilse, diğer seçenekleri tartışmak için lütfen bir destek bileti açın .