Etiketlere Göre BlobLarı Bulma

İşlem, Find Blobs by Tags depolama hesabındaki etiketleri bir arama ifadesiyle eşleşen tüm blobları bulur.

İstek

İsteği aşağıdaki gibi oluşturabilirsiniz Find Blobs by Tags . HTTPS kullanmanızı öneririz. myaccount değerini depolama hesabınızın adıyla değiştirin.

GET yöntemi istek URI'si HTTP sürümü
https://myaccount.blob.core.windows.net?comp=blobs&where=<expression> HTTP/1.1

URI parametreleri

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

Parametre Açıklama
expression Gereklidir. Sonuç kümesini yalnızca etiketleri belirtilen ifadeyle eşleşen blobları içerecek şekilde filtreler.

Bu ifadeyi oluşturma hakkında daha fazla bilgi için bkz. Açıklamalar.
marker İsteğe bağlı. Sonraki işlemle döndürülecek sonuç kümesinin bölümünü tanımlayan dize değeri. Döndürülen sonuç kümesi tamamlanmadıysa, işlem yanıt gövdesi içinde bir işaretçi değeri döndürür. Bundan sonra işaretçi değeri sonraki bir öğe kümesini istemek için sonraki bir çağrıda kullanılabilir.

İşaretçi değeri istemci için opaktır.
maxresults İsteğe bağlı. Döndürülecek blob sayısı üst sınırını belirtir. İstek 5.000'den büyük bir değer belirtmezse maxresults veya belirtmezse, sunucu en fazla 5.000 öğe döndürür. Döndürülecek ek sonuçlar varsa, hizmet yanıt öğesinde NextMarker bir devamlılık belirteci döndürür. Bazı durumlarda hizmet, belirtilenden maxresults daha az sonuç döndürebilir. Hizmet bir devamlılık belirteci de döndürebilir.

Sıfırdan küçük veya sıfıra eşit bir değere ayarlanması maxresults hata yanıtı kodu 400 (Hatalı İstek) ile sonuçlanır.
timeout İsteğe bağlı. 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, ancak anonim istekler için isteğe bağlıdır. 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.

İstek gövdesi

Yok.

Yanıt

Yanıt bir HTTP durum kodu, yanıt üst bilgileri ve 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, ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.

Yanıt üst bilgisi Description
Content-Type application/xml İçerik türü olarak belirtir.
Content-Length Döndürülen XML belgesinin boyutunu bayt cinsinden belirtir.
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar. İsteğin sorunlarını gidermek için bunu kullanabilirsiniz. Daha fazla bilgi için bkz. API işlemleriyle ilgili sorunları giderme.
x-ms-version İsteği yürütmek için kullanılan Azure Blob Depolama sürümünü gösterir.
Date Hizmetin yanıtı gönderdiği saati gösteren utc tarih/saat değeri.
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 en fazla 1.024 görünür ASCII karakteriyse üst bilginin değerine x-ms-client-request-id eşittir. İstekte x-ms-client-request-id üst bilgi yoksa, yanıtta bu üst bilgi mevcut olmaz.

Yanıt gövdesi

2020-04-08 ve sonraki sürümlerde blob'un eşleşen etiketleri bir Tags öğe içinde kapsüllenir. Yanıt gövdesinin biçimi aşağıdaki gibidir:

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint=http://myaccount.blob.core.windows.net/>  
  <Where>string-value</Where>  
  <Blobs>  
    <Blob>  
      <Name>blob-name</Name>  
      <ContainerName>container-name</ContainerName>  
      <Tags>
        <TagSet>
          <Tag>
            <Key>matching-tag-name1</Key>
            <Value>matching-tag-value1</Value>
          </Tag>
          <Tag>
            <Key>matching-tag-name2</Key>
            <Value>matching-tag-value2</Value>
          </Tag>
        </TagSet>
      </Tags> 
    </Blob>  
  </Blobs>  
  <NextMarker />  
</EnumerationResults>  

Yanıt gövdesi iyi biçimlendirilmiş bir UTF-8 XML belgesidir.

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 Find Blobs by Tags 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ı Find Blobs by Tags 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 Find Blobs by Tags REST API sürüm 2019-12-12 ve sonraki sürümlerde desteklenir.

Hiyerarşik ad alanı etkinleştirilmiş hesaplarda blob Find Blobs by Tags etiketleri hiyerarşik ad alanı hesapları için desteklenmediğinden işlem desteklenmez.

kullanan ikincil dizin Find Blobs by Tags sonunda tutarlı olur. aracılığıyla Set Blob Tags blob etiketlerine Güncelleştirmeler işlemlere hemen görünmeyebilirFind Blobs by Tags.

Arama ifadesi oluşturma

where URI parametresi, depolama hesabında etiketleri bir ifadeyle eşleşen blobları bulur. Sonuç kümesinde döndürülecek bir blob için ifadenin değerlendirmesi true gerekir.

Depolama hizmeti, sorgu parametresinin değeri için ANSI SQL WHERE yan tümcesi dil bilgisinin where=<expression> bir alt kümesini destekler. Depolama hizmeti aşağıdaki işleçleri destekler:

İşleç Açıklama Örnek
= Eşittir &where=Status = 'In Progress'
> Büyüktür &where=LastModified > '2018-06-18 20:51:26Z'
>= Büyüktür veya eşittir &where=Priority >= '05'
< Küçüktür &where=Age < '032'
<= Küçüktür veya eşittir &where=Reviewer <= 'Smith'
AND Mantıksal ve &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'
@container Kapsayıcı belirtme &where=@container='mycontainer' AND Name = 'C'

Not

URI parametresinin where değeri düzgün bir şekilde kodlanmış URI olmalıdır (boşluklar ve işleçler dahil). Önceki örneklerde okunabilirlik için bu atlanmış.

Tüm etiket değerleri dizelerdir. Desteklenen ikili ilişkisel işleçler etiket değerlerinin sözcük temelli sıralamasını kullanır. Sayılar ve tarihler de dahil olmak üzere dize olmayan veri türlerini desteklemek için uygun doldurma ve sıralanabilir biçimlendirmeyi kullanmanız gerekir. Etiket değerleri tek tırnak içine alınmalıdır.

Etiket adları normal SQL tanımlayıcılarıysa, kaçış olmadan mevcut olabilir. Herhangi bir özel karakter içeriyorsa, çift tırnak işaretiyle (örneğin, "TagName" = TagValue) sınırlandırılmalıdır. Etiket adlarını her zaman çift tırnak içine almanız önerilir.

Depolama hizmeti, hata kodu 400 (Hatalı İstek) olan geçersiz bir ifade içeren istekleri reddeder.

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 ücretlendirilmeyi etkiler. Ö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 Find Blobs by Tags faturalama kategorisi gösterilmektedir:

İşlem Depolama hesabı türü Faturalama kategorisi
Etiketlere Göre BlobLarı Bulma 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.

Ayrıca bkz.

Blob dizin etiketleriyle Azure Blob Depolama verilerini yönetme ve bulma
Azure Depolama'ya yönelik istekleri yetkilendirme
Durum ve hata kodları
Blob Depolama hata kodları