Kapsayıcıları Listele
İşlem, List Containers
belirtilen depolama hesabı altındaki kapsayıcıların listesini döndürür.
İstek
İsteği aşağıdaki gibi oluşturabilirsiniz List Containers
. HTTPS önerilir.
myaccount değerini depolama hesabınızın adıyla değiştirin.
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
GET |
https://myaccount.blob.core.windows.net/?comp=list |
HTTP/1.1 |
Ana bilgisayar adını URI'nin yolundan ve sorgu bölümlerinden ayırmak için URI'nin her zaman eğik çizgi (/) içermesi gerektiğini unutmayın. İşlem söz konusu olduğunda List Containers
, URI'nin yol kısmı boş olur.
Öykünülmüş depolama hizmeti isteği
Öykünülen depolama hizmetine yönelik bir istekte bulunurken öykünücü ana bilgisayar adını ve Azure Blob Depolama bağlantı noktasını olarak 127.0.0.1:10000
belirtin ve ardından öykünülen depolama hesabı adını belirtin.
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
GET |
http://127.0.0.1:10000/devstoreaccount1?comp=list |
HTTP/1.1 |
Öykünülmüş depolamanın yalnızca 2 GiB'ye kadar blob boyutlarını desteklediğini unutmayın.
Daha fazla bilgi için bkz . Yerel Azure Depolama geliştirmesi için Azurite öykünücüsü kullanma ve Depolama öykünücüsü ile Azure Depolama hizmetleri arasındaki farklar.
URI parametreleri
İstek URI'sinde aşağıdaki ek parametreleri belirtebilirsiniz.
Parametre | Açıklama |
---|---|
prefix |
İsteğe bağlı. Sonuçları yalnızca belirtilen ön ekle başlayan bir ada sahip kapsayıcılar döndürecek şekilde filtreler. |
marker |
İsteğe bağlı. Bir sonraki listeleme işlemiyle döndürülecek kapsayıcı listesinin bölümünü tanımlayan dize değeri. Listeleme işlemi geçerli sayfayla birlikte listelenecek kalan tüm kapsayıcıları döndürmediyse, işlem yanıt gövdesindeki değeri döndürür NextMarker . Sonraki liste öğelerinin NextMarker sayfasını istemek için marker sonraki bir çağrıda parametresinin değeri olarak değerini kullanabilirsiniz.İşaretçi değeri istemci için opaktır. |
maxresults |
İsteğe bağlı. Döndürülecek kapsayıcı sayısı üst sınırını belirtir. İstek belirtmezse maxresults veya 5000'den büyük bir değer belirtirse, sunucu en fazla 5000 öğe döndürür. Listeleme işlemi bir bölüm sınırını geçerse, hizmetin sonuçların geri kalanını almak için bir devamlılık belirteci döndüreceğini unutmayın. Bu nedenle, hizmetin tarafından maxresults belirtilenden veya varsayılan 5000'den daha az sonuç döndürmesi mümkündür. Parametre sıfırdan küçük veya sıfıra eşit bir değere ayarlanırsa, sunucu 400 (Hatalı İstek) durum kodunu döndürür. |
include={metadata,deleted,system} |
İsteğe bağlı. Yanıta eklenecek bir veya daha fazla veri kümesini belirtir: - metadata : Bu parametreyle istenen meta verilerin Blob Depolama'nın 2009-09-19 sürümü tarafından uygulanan adlandırma kısıtlamalarına uygun olarak depolanması gerektiğini unutmayın. Bu sürümden başlayarak, tüm meta veri adları C# tanımlayıcıları için adlandırma kurallarına uymalıdır.- deleted : Sürüm 2019-12-12 ve üzeri. Geçici olarak silinen kapsayıcıların yanıta eklenmesi gerektiğini belirtir.- system : Sürüm 2020-10-02 ve üzeri. Sistem kapsayıcılarının yanıta eklenip eklenmediğini belirtir. Bu seçenek dahil olmak üzere ve $changefeed gibi $logs sistem kapsayıcıları listelenir. Döndürülen belirli sistem kapsayıcılarının, depolama hesabında hangi hizmet özelliklerinin etkinleştirildiğine bağlı olarak değişeceğini unutmayın. |
timeout |
İsteğe bağlı.
timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz . Blob Depolama işlemleri için zaman aşımlarını ayarlama. |
İstek üst bilgileri
Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmaktadı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. |
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. |
İstek gövdesi
Yok.
Yanıt
Yanıt bir HTTP durum kodu, yanıt üst bilgileri kümesi ve XML biçiminde bir yanıt gövdesi içerir.
Durum kodu
Başarılı bir işlem 200 (Tamam) durum kodunu döndürür. Durum kodları hakkında 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 ayrıca ek, standart HTTP üst bilgileri içerir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.
Yanıt üst bilgisi | Description |
---|---|
Content-Type |
Standart HTTP/1.1 üst bilgisi. Sonuçların döndürüldiği biçimi belirtir. Şu anda bu değer şeklindedir application/xml . |
x-ms-request-id |
Bu üst bilgi, 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 çalıştırmak için kullanılan Blob Depolama 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 |
Yanıtın başlatıldığı saati gösteren utc tarih/saat değeri. Hizmet bu değeri oluşturur. |
x-ms-client-request-id |
İstekler ve karşılık gelen yanıtlarla ilgili sorunları gidermek için bu üst bilgiyi kullanabilirsiniz. Bu üst bilginin değeri, istekte varsa üst bilginin değerine x-ms-client-request-id eşittir. Değer en fazla 1024 görünür ASCII karakterdir.
x-ms-client-request-id Üst bilgi istekte yoksa, yanıtta bu üst bilgi bulunmaz. |
Yanıt gövdesi
Yanıt gövdesinin biçimi aşağıdaki gibidir.
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net">
<Prefix>string-value</Prefix>
<Marker>string-value</Marker>
<MaxResults>int-value</MaxResults>
<Containers>
<Container>
<Name>container-name</Name>
<Version>container-version</Version>
<Deleted>true</Deleted>
<Properties>
<Last-Modified>date/time-value</Last-Modified>
<Etag>etag</Etag>
<LeaseStatus>locked | unlocked</LeaseStatus>
<LeaseState>available | leased | expired | breaking | broken</LeaseState>
<LeaseDuration>infinite | fixed</LeaseDuration>
<PublicAccess>container | blob</PublicAccess>
<HasImmutabilityPolicy>true | false</HasImmutabilityPolicy>
<HasLegalHold>true | false</HasLegalHold>
<DeletedTime>datetime</DeletedTime>
<RemainingRetentionDays>no-of-days</RemainingRetentionDays>
</Properties>
<Metadata>
<metadata-name>value</metadata-name>
</Metadata>
</Container>
</Containers>
<NextMarker>marker-value</NextMarker>
</EnumerationResults>
LeaseStatus
, LeaseState
ve LeaseDuration
yalnızca 2012-02-12 ve sonraki sürümlerde görünür.
Sürüm 2013-08-15'le başlayarak, öğesinin AccountName
EnumerationResults
özniteliği olarak yeniden adlandırıldı ServiceEndpoint
.
URL
öğesi de öğesinden Container
kaldırıldı. 2013-08-15'den önceki sürümler için, alan tarafından belirtildiği gibi kapsayıcının URL
URL'si parametresini restype=container
içermez. Numaralandırılmış kapsayıcılara karşı sonraki istekleri yapmak için bu değeri kullanırsanız, kaynak türünün bir kapsayıcı olduğunu belirtmek için bu parametreyi eklediğinizden emin olun.
Prefix
, Marker
ve MaxResults
öğeleri yalnızca URI'de belirttiğinizde bulunur. öğesinin NextMarker
yalnızca liste sonuçları tamamlanmazsa bir değeri vardır.
Metadata
öğesi yalnızca URI'de parametresini include=metadata
belirtirseniz bulunur. öğesinde Metadata
, her ad-değer çiftinin değeri, çiftin adına karşılık gelen bir öğe içinde listelenir.
Meta veri ad-değer çifti 2009-09-19 sürümü tarafından uygulanan adlandırma kısıtlamalarını ihlal ederse, yanıt gövdesi bir x-ms-invalid-name
öğe içindeki sorunlu adı gösterir. Aşağıdaki XML parçası bunu gösterir:
<Metadata>
<MyMetadata1>first value</MyMetadata1>
<MyMetadata2>second value</MyMetadata2>
<x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>
</Metadata>
2016-05-31 sürümünden başlayarak, kapsayıcı genel izinleri özelliğinde PublicAccess
sağlanır. Kapsayıcıdaki verilere genel olarak erişilip erişilemeyeceğini ve erişim düzeyini gösterir. Olası değerler şunlardır:
-
container
: Kapsayıcı ve blob verileri için tam, genel okuma erişimini gösterir. İstemciler anonim istek aracılığıyla kapsayıcı içindeki blobları numaralandırabilir, ancak depolama hesabındaki kapsayıcıları numaralandıramaz. -
blob
: Bloblar için genel okuma erişimini gösterir. Bu kapsayıcıdaki blob verileri anonim istek aracılığıyla okunabilir, ancak kapsayıcı verileri kullanılamaz. İstemciler anonim istek aracılığıyla kapsayıcı içindeki blobları numaralandıramaz.
Bu özellik bölümünde belirtilmezse <properties>
, kapsayıcı hesap sahibine özeldir.
HasImmutabilityPolicy
ve HasLegalHold
yalnızca 2017-11-09 ve sonraki sürümlerde görünür.
HasImmutabilityPolicy
true
kapsayıcının üzerinde bir değişmezlik ilkesi ayarlanıp ayarlanmadığını gösterir.false
HasLegalHold
true
kapsayıcının üzerinde bir veya daha fazla yasal tutma olup olmadığını gösterir.false
Not
2009-09-19 sürümünden başlayarak, için List Containers
yanıt gövdesi adlı bir öğede Last-Modified
kapsayıcının son değiştirme zamanını döndürür. Önceki sürümlerde bu öğe olarak adlandırıldı LastModified
.
Version
, Deleted
, DeletedTime
ve RemainingRetentiondays
öğeleri yalnızca 2019-12-12 ve sonraki sürümlerde, sorgu parametresinin include
değerini belirtirseniz deleted
görüntülenir. Bu öğeler yalnızca kapsayıcı geçici olarak silindiğinde ve geri yüklenmeye uygunsa görünür.
Version
, Deleted
, DeletedTime
ve RemainingRetentiondays
öğeleri yalnızca 2019-12-12 ve sonraki sürümlerde, sorgu parametresi için include
silinen değer belirtilmişse ve kapsayıcı geçici olarak silinmişse ve geri yüklenmeye uygunsa görüntülenir.
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 List Containers
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ı List Containers
için gereken RBAC eylemi ve bu eylemi içeren en az ayrıcalıklı yerleşik Azure RBAC rolü verilmiştir:
- Azure RBAC eylemi:Microsoft.Storage/storageAccounts/blobServices/containers/read (depolama hesabı veya üzeri kapsamında)
- En az ayrıcalıklı yerleşik rol:Depolama Blob Verileri Katkıda Bulunanı (depolama hesabı veya üzeri kapsamında)
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
parametresi için maxresults
bir değer belirtirseniz ve döndürülecek kapsayıcı sayısı bu değeri aşıyorsa veya için maxresults
varsayılan değeri aşıyorsa, yanıt gövdesi öğesini içerir NextMarker
. (Bu, devamlılık belirteci olarak da adlandırılır).
NextMarker
sonraki bir istekte döndürülecek bir sonraki kapsayıcıyı gösterir. Sonraki öğe kümesini döndürmek için, sonraki istek için marker
URI'de parametresinin değerini NextMarker
belirtin. değerinin NextMarker
opak olarak kabul edilmesi gerektiğini unutmayın.
Listeleme işlemi bir bölüm sınırını geçerse, hizmet bir sonraki bölümden sonuçların geri kalanını almak için öğesi için NextMarker
bir değer döndürür. Birden fazla bölüme yayılan bir listeleme işlemi, tarafından maxresults
belirtilenden veya varsayılan 5000'den daha küçük bir öğe kümesinin döndürülmesini sağlar. Bir listeleme işlemi gerçekleştirirken uygulamanız her zaman öğenin varlığını NextMarker
denetlemeli ve buna göre işlemelidir.
Kapsayıcılar yanıt gövdesinde alfabetik sırada listelenir.
İşlem List Containers
30 saniye sonra zaman aşımına uğrar.
Faturalama
Fiyatlandırma istekleri, Blob Depolama API'lerini kullanan istemcilerden, doğrudan Blob Depolama REST API'si aracılığıyla veya bir Azure Depolama istemci kitaplığından kaynaklanabilir. Bu istekler işlem başına ücret tahakkuk eder. İşlem türü, hesabın nasıl ücretlendirildiğinden etkilenir. Örneğin, okuma işlemleri yazma işlemlerinden farklı bir faturalama kategorisine tahakkuk eder. Aşağıdaki tabloda, depolama hesabı türüne göre istekler için List Containers
faturalama kategorisi gösterilmektedir:
İşlem | Depolama hesabı türü | Faturalama kategorisi |
---|---|---|
Kapsayıcıları Listele | Premium blok blobu Standart genel amaçlı v2 Standart genel amaçlı v1 |
Kapsayıcı işlemlerini listeleme ve İçerik Oluşturucu |
Belirtilen faturalama kategorisinin fiyatlandırması hakkında bilgi edinmek için bkz. fiyatlandırma Azure Blob Depolama.
Örnek istek ve yanıt
Aşağıdaki örnek URI, bir hesap için kapsayıcı listesini ister ve ilk işlem için döndürülecek en yüksek sonuçları üç olarak ayarlar.
GET https://myaccount.blob.core.windows.net/?comp=list&maxresults=3 HTTP/1.1
İstek şu üst bilgilerle gönderilir:
x-ms-version: 2016-05-31
x-ms-date: Wed, 26 Oct 2016 22:08:44 GMT
Authorization: SharedKey myaccount:CY1OP3O3jGFpYFbTCBimLn0Xov0vt0khH/D5Gy0fXvg=
Durum kodu ve yanıt üst bilgileri aşağıdaki gibi döndürülür:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Date: Wed, 26 Oct 2016 22:08:54 GMT
x-ms-version: 2016-05-31
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
Bu isteğin yanıt XML'i aşağıdaki gibidir. öğesinin NextMarker
kapsayıcı kümesini izlediğini ve döndürülecek bir sonraki kapsayıcının adını içerdiğini unutmayın.
<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net/">
<MaxResults>3</MaxResults>
<Containers>
<Container>
<Name>audio</Name>
<Properties>
<Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>
<Etag>0x8CACB9BD7C6B1B2</Etag>
<PublicAccess>container</PublicAccess>
</Properties>
</Container>
<Container>
<Name>images</Name>
<Properties>
<Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>
<Etag>0x8CACB9BD7C1EEEC</Etag>
</Properties>
</Container>
<Container>
<Name>textfiles</Name>
<Properties>
<Last-Modified>Wed, 26 Oct 2016 20:39:39 GMT</Last-Modified>
<Etag>0x8CACB9BD7BACAC3</Etag>
</Properties>
</Container>
</Containers>
<NextMarker>video</NextMarker>
</EnumerationResults>
Sonraki liste işlemi, aşağıdaki gibi istek URI'sinde işaretçiyi belirtir. İşaretçi tarafından belirtilen kapsayıcıdan başlayarak sonraki sonuç kümesi döndürülür.
https://myaccount.blob.core.windows.net/?comp=list&maxresults=3&marker=video
Ayrıca bkz.
Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları
Blob Depolama hata kodları
Blob kaynaklarını listeleme
Geliştirme ve test için Azure Depolama öykünücüsü kullanma
Blob Depolama işlemleri için zaman aşımlarını ayarlama