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 eylemi:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
- En az ayrıcalıklı yerleşik rol:Depolama Blobu Veri Sahibi
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ı