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çirinx-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. Gerekli SignedVersion (sv) parametre, SAS ile yapılan isteği yetkilendirmek için kullanılacak hizmet sürümünü belirtir. api-version Üst bilgi belirtilmezse, parametresinin SignedVersion (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 bir x-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 bir x-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, epktnsrkspkerk ve gibi siyetkilendirme parametrelerinin tümü belirtilen sürüm kullanılarak yorumlanır. sr

, , rscdrsce, rsclve rsct gibi rsccREST 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-05Liste 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-05api-versionListe 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 .

Ayrıca bkz.