Etiketlere Göre Blobları Bulma

işlemi, Find Blobs by Tags depolama hesabında etiketleri belirli bir arama ifadesiyle eşan tüm blobları bulur.

İstek

İstek Find Blobs by Tags aşağıdaki gibi oluşturulmuş olabilir. HTTPS önerilir. myaccount yerine depolama hesabınız adını yazın:

GET Yöntemi İsteği URI'si HTTP Sürümü
https://myaccount.blob.core.windows.net?comp=blobs&where=<expression> HTTP/1.1

URI parametreleri

İstek URI'si üzerinde aşağıdaki ek parametreler belirtilebilir.

Parametre Açıklama
expression Gereklidir. Sonuç kümesine yalnızca etiketleri belirtilen ifadeyle eş değere sahip blobları içerecek şekilde filtreler.

Bu ifadeyi oluşturma hakkında daha fazla bilgi için Açıklamalar'a bakın.
marker İsteğe bağlı. Sonuç kümesi bölümünü sonraki işlemle döndürüldü olarak tanımlayan bir dize değeri. Döndürülen sonuç kümesi tamamlanmadı ise, işlem yanıt gövdesi içinde bir işaretçi değeri döndürür. İşaretçi değeri daha sonra sonraki öğe kümesi isteğinde kullanılabilir.

İşaretçi değeri istemci için opaktır.
maxresults İsteğe bağlı. İade etmek için en fazla blob sayısını belirtir. İstek 5.000'den büyük bir değer belirtmezseniz veya belirtmezseniz sunucu en fazla maxresults 5.000 öğe geri döner.

Sıfırdan maxresults küçük veya sıfıra eşit bir değere ayarlanıyorsa 400 (Hatalı İstek) hata yanıtı koduyla sonuçlanıyor.
timeout İsteğe bağlı. timeoutparametresi saniyeler içinde ifade edildi. Daha fazla bilgi için bkz. Blob Hizmeti İşlemleri için Zaman Aşımı Ayarlama.

İstek Üst Bilgileri

Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmıştır.

İstek Başlığı Açıklama
Authorization Gereklidir. Yetkilendirme düzenini, hesap adını ve imzayı belirtir. Daha fazla bilgi için bkz. Azure Depolama.
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.
x-ms-version Anonim istekler için isteğe bağlı olarak tüm yetkili istekler için gereklidir. Bu istek için kullanmak üzere işlem sürümünü belirtir. Daha fazla bilgi için bkz. Azure Depolama Servicesiçin sürüm.
x-ms-client-request-id İsteğe bağlı. Depolama analizi günlüğü etkinleştirildiğinde analiz günlüklerine kaydedilen 1 KiB karakter sınırıyla istemci tarafından oluşturulan ve opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucu tarafından alınan istekler arasında bağıntı sağlamak için bu üst bilginin kullanılması kesinlikle önerilir. Daha fazla bilgi için bkz. Depolama Analiz Günlüğü ve Azure Günlüğü Hakkında: İstekleri Izlemek için Depolama Kullanma.

İ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şlem için 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 uygun.

Yanıt üst bilgisi Açıklama
Content-Type application/xml
Content-Length Döndürülen XML belgesinin bayt cinsinden boyutu
x-ms-request-id Bu üst bilgi, yapılan isteği benzersiz bir şekilde tanımlar ve isteğin sorunlarını gidermek için kullanılabilir. Daha fazla bilgi için bkz. API İşlemleri Sorunlarını Giderme.
x-ms-version İsteği yürütmek için kullanılan Blob hizmetinin sürümünü gösterir.
Date Hizmet tarafından oluşturulan ve yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri.
x-ms-client-request-id Bu üst bilgi, isteklerde ve ilgili yanıtlarda sorun gidermek için kullanılabilir. bu üst bilginin değeri, istekte mevcutsa üst bilgi değerine eşittir ve değer en fazla x-ms-client-request-id 1024 görünür ASCII karakteridir. üst x-ms-client-request-id bilgisi istekte yoksa, yanıtta bu üst bilgi mevcut olmaz.

Yanıt Gövdesi

Sürüm 2020-04-08 ve daha yeni sürümlerde blob'un eşleşen etiketleri bir Tags öğesi içinde kapsüller. 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 oluşturulmuş bir UTF-8 XML belgesidir.

Yetkilendirme

Bu işlem hesap sahibi ve Paylaşılan Erişim İmzası olan ve etiketlere göre blobları bulma izni olan herkes tarafından f çağrılabilirsiniz (SAS izni).

Ayrıca, izni olan RBAC Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action kullanıcıları bu işlemi gerçekleştirebilirsiniz.

Açıklamalar

bu Find Blobs by Tags işlem 2019-12-12 ve sonraki bir sürümde REST API için de destek sağlar.

tarafından kullanılan ikincil dizin Find Blobs by Tags nihai olarak tutarlıdır. Çok sayıda blob etiketi aracılığıyla Set Blob Tags yapılan güncelleştirmeler işlemler tarafından hemen Find Blobs by Tags görülemeyebilir.

Arama İfadesi Oluşturma

whereURI parametresi, depolama hesabında etiketleri verilen bir ifadeyle eşan blobları bulur. İfadenin, sonuç true kümesinde döndürülecek blob için değerlendirmesi gerekir.

Depolama hizmeti, sorgu parametresinin değeri için ANSI SQL WHERE yan tümcesi dil bilgisinin bir alt where=<expression> kümesini destekler. Aşağıdaki işleçler de 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). Yukarıdaki örneklerde okunabilirlik için bu durum atlanabilir.

Tüm etiket değerleri dizedir ve desteklenen ikili ilişkisel işleçler etiket değerlerinin sözlüksel sıralamaları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çimlendirmenin gerekli olması gerekir. Etiket değerlerinin tek tırnak içine alınmış olması gerekir.

etiket adları normal SQL tanımlayıcılarsa, kaçış olmadan mevcut olabilirler; özel karakterler içeriyorsa, bunlar çift tırnaklarla sınırlandıralınmalıdır (örn. "TagName" = ' TagValue '). Etiket adlarını her zaman çift tırnak içine almanız önerilir.

Depolama hizmeti 400 (Hatalı Istek) hata koduna sahip geçersiz bir ifade içeren tüm istekleri reddeder.

Ayrıca bkz.

Blob Dizini ile Azure Blob Depolama'da verileri bulma ve yönetme
istekleri Azure Depolama yetkilendirme
Durum ve hata kodları
Blob Hizmeti Hata Kodları