Azure Depolama için sürüm oluşturma
Azure Depolama birden çok sürümü destekler. Depolama hizmetlerinde istekte bulunmak için, istek anonim olmadığı sürece bu işlem için kullanmak istediğiniz sürümü belirtmeniz gerekir.
Azure depolama hizmetlerinin geçerli sürümü 2024-11-04'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.
2024-11-04 hizmet sürümü aşağıdaki özellikleri içerir:
- Dosya hizmetindeki tüm veri düzlemi API'leri için belirteç tabanlı kimlik doğrulaması desteği. Daha fazla bilgi için bkz. Microsoft Entra ID ile yetkilendirme.
- Premium dosya paylaşımı hesaplarında ücretli seri dağıtım desteği. Bu özellik, Paylaşım Oluşturma
ve paylaşım özelliklerini API'lerini ayarlama etkinleştirilebilir. - Dosyalar hizmetinde dosya izinlerini alırken ve ayarlarken ikili biçim desteği. Daha fazla bilgi için bkz. İzin Oluşturma
ve İzin Alma
İsteklerde hizmet sürümlerini belirtme
bir istek için kullanılacak depolama hizmetlerinin sürümünü nasıl belirttiğiniz, bu isteğin nasıl yetkilendirildiğini belirtir. Aşağıdaki bölümlerde yetkilendirme seçenekleri ve hizmet sürümünün her biri için nasıl belirtildiği açıklanmaktadır.
Microsoft Entra'dan OAuth 2.0 belirteci kullanan istekler: Microsoft Entra Id ile bir isteği yetkilendirmek için, istekte 2017-11-09 veya üzeri bir hizmet sürümüyle
x-ms-version
üst bilgisini geçirin. Daha fazla bilgi için bkz.Microsoft Entra ID ile yetkilendirme OAuth belirteçleriyle depolama işlemlerini çağırma.Paylaşılan Anahtar veya Paylaşılan Anahtar Lite kullanan İstekler: Paylaşılan Anahtar veya Paylaşılan Anahtar Lite ile bir isteği yetkilendirmek için istekte
x-ms-version
üst bilgisini geçirin. Azure Blob Depolama söz konusu olduğunda,Blob Hizmeti Özelliklerini Ayarlaç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 bilgisi, API işlemini yürütmek için hangi hizmet sürümünün kullanılacağını gösterir. GerekliSignedVersion (sv)
parametresi, SAS ile yapılan isteği yetkilendirmek için kullanılacak hizmet sürümünü belirtir.api-version
üst bilgisi belirtilmezse,SignedVersion (sv)
parametresinin değeri API işlemini yürütmek için kullanılacak sürümü de gösterir.Anonim erişimkullanan istekler: Blob Depolama'ya karşı anonim erişim söz konusu olduğunda, 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, Shared Key veya Shared Key Lite kullanarak istekleri yetkilendirme
Microsoft Entra Id, Shared Key veya Shared Key Lite ile bir isteği yetkilendirmek için istekte x-ms-version
üst bilgisini belirtin.
x-ms-version
isteği üst bilgisi değeri YYYY-AA-GG biçiminde belirtilmelidir. Mesela:
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 bir
x-ms-version
ü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 bilgisi belirtmelidir. Paylaşılan erişim imzası kullanmayan Tüm Blob Depolama istekleri, sonraki paragrafta açıklandığı gibi varsayılan sürüm ayarlanmadığı sürece birx-ms-version
üst bilgisi belirtmelidir.Blob Depolama isteğinde
üst bilgisi yoksa ancak hesap sahibi Blob Hizmeti Özelliklerini Ayarla işlemini kullanarak varsayılan bir sürüm ayarladıysa, istek için sürüm olarak belirtilen varsayılan sürüm kullanılır.
Paylaşılan erişim imzası kullanarak istekleri yetkilendirme
Sürüm 2014-02-14 veya üzeri kullanılarak oluşturulan paylaşılan erişim imzası (SAS) iki sürüm oluşturma seçeneğini destekler:
api-version
sorgu parametresi, SAS kullanılarak yapılan bir isteği işlemek için kullanılacak REST protokolü sürümünü tanımlar.SignedVersion (sv)
sorgu parametresi, yetkilendirme için kullanılacak SAS sürümünü tanımlar.
SignedVersion
sorgu parametresi, bir istemci SAS kullanarak istekte bulunursa yetkilendirme için kullanılır.
si
, sr
, sp
, sig
, st
, se
, tn
, spk
, srk
, epk
ve erk
gibi yetkilendirme parametrelerinin tümü belirtilen sürüm kullanılarak yorumlanır.
rscc
, rscd
, rsce
, rscl
ve rsct
gibi REST protokolü parametreleri, api-version
parametre üst bilgisinde sağlanan sürüm kullanılarak zorlanır.
api-version
üst bilgisi belirtilmezse, SignedVersion
için sağlanan hizmet sürümü kullanılır.
api-version
parametresi, Hizmet SASoluşturma bölümünde açıklandığı gibi yetkilendirme üst bilgisinde oturum açma dizesinin bir parçası değildir.
Aşağıdaki tabloda, SignedVersion
parametresi sürüm 2014-02-14 veya sonraki bir sürüme ayarlandığında yetkilendirme ve REST protokollerini çağırmak için hizmet tarafından kullanılan sürüm oluşturma şeması açıklanmaktadır.
api sürümü parametresinin değeri | Yetkilendirme için kullanılan sürüm | Protokol davranışı için kullanılan sürüm |
---|---|---|
Belirtilmemiş |
sv parametresinde belirtilen sürüm |
sv parametresinde belirtilen sürüm |
XXXX-XX-XX biçimindeki geçerli depolama hizmetleri sürümleri |
sv parametresinde belirtilen sürüm |
Geçerli depolama hizmetleri sürümü XXXX-XX-XX |
Örnek 1
Aşağıdaki örnek istek,
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,
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 2012-02-12 sürümünü kullanarak işlemi çalıştırır.
Not
.NET Depolama istemci kitaplığı rest protokolü sürümünü (api-version
parametresinde) her zaman temel alındığı sürüme ayarlar.
Anonim erişim yoluyla istekler
Anonim erişim yoluyla yapılan istekler, yapılan 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 yapılan anonim bir istek
Blob Depolama hesapları için
Blob Depolama hesabına yönelik anonim bir istek
Bilinen sorunlar
Bu bölümde Azure Depolama REST API'leri ile ilgili bilinen sorunlar ayrıntılı olarak açıklanmaktadır.
InvalidHeaderValue
hata iletisi
Nadir senaryolarda, doğrudan REST API çağrıları yapan uygulamalar InvalidHeaderValue
hata 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 daha ö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 bir destek bileti
Ayrıca bkz.
- Depolama Hizmetleri REST
- Sürüm oluşturma en iyi yöntemleri
- .NET istemci kitaplığı sürümleri için Protokol sürümü desteği