Blob depolama olaylarına yanıt verme

Azure Depolama olayları, uygulamaların blob oluşturma ve silme gibi olaylara tepki vermesine olanak sağlar. Karmaşık koda veya pahalı ve verimsiz yoklama hizmetine gerek kalmadan bunu yapar. En iyi bölüm yalnızca kullanmak için ödeme yapmak.

Blob depolama olayları Azure Event Grid gibi abonelere Azure İşlevleri, Azure Logic Apps, hatta kendi http dinleyicinize itilir. Event Grid, zengin yeniden deneme ilkeleri ve teslim olmayan harf aracılığıyla uygulamalarınıza güvenilir olay teslimi sağlar.

Blob depolamanın desteklediği olayların tam listesini görüntülemek için Blob depolama olayları şema makalesine bakın.

Yaygın Blob depolama olayı senaryolarında görüntü veya video işleme, arama dizini oluşturma veya dosya odaklı herhangi bir iş akışı yer almaktadır. Zaman uyumsuz dosya yüklemeleri olaylar için harika bir uyum sağlar. Değişiklikler seyrek olduğunda ancak senaryonun hemen yanıt verme ihtiyacı olduğunda, olay tabanlı mimari özellikle verimli olabilir.

Blob depolama olaylarını denemek için şu hızlı başlangıç makalelerini okuyun:

Bu aracı kullanmak için: Şu makaleye bakın:
Azure portal Hızlı Başlangıç: Blob depolama olaylarını web uç noktasına yönlendirme Azure portal
PowerShell Hızlı Başlangıç: PowerShell ile depolama olaylarını web uç noktasına yönlendirme
Azure CLI Hızlı Başlangıç: Azure CLI ile depolama olaylarını web uç noktasına yönlendirme

Azure işlevlerini kullanarak Blob depolama olaylarına tepki vermenin ayrıntılı örneklerini görüntülemek için şu makalelere bakın:

Not

Depolama (genel amaçlı v1) sanal verilerle tümleştirmeyi Event Grid.

Olay modeli

Event Grid olay iletilerini abonelere yönlendirmek için olay aboneliklerini kullanır. Bu görüntü olay yayımcıları, olay abonelikleri ve olay işleyicileri arasındaki ilişkiyi gösterir.

Event Grid Modeli

İlk olarak, bir uç noktayı bir etkinliğe abone olun. Ardından, bir olay tetiklendiğinde, Event Grid hizmeti bu olayla ilgili verileri uç noktasına gönderir.

Şunları görüntülemek için Blob depolama olayları şema makalesine bakın:

  • Blob depolama olaylarının ve her olayın nasıl tetiklendiğinden tam bir listesi.
  • Bu olayların her biri için Event Grid veri örneği.
  • Verilerde görünen her bir anahtar değer çiftinin amacı.

Olayları filtreleme

Blob olayları olay türüne, kapsayıcı adına veya oluşturulan/silinen nesnenin adına göre filtrelenmiş olabilir. Bu Event Grid başındaki veya sonundaki filtreler sayesinde eşleşen bir özneye sahip olaylar aboneye gider.

Filtreleri uygulama hakkında daha fazla bilgi edinmek için bkz. Filtre olayları Event Grid.

Blob depolama olaylarının konusu şu biçimi kullanır:

/blobServices/default/containers/<containername>/blobs/<blobname>

Bir depolama hesabının tüm olaylarıyla eşleşmesi için konu filtrelerini boş ekleyebilirsiniz.

Ön ek paylaşan kapsayıcı kümesinde oluşturulan bloblardan gelen olayları eşleşmek için aşağıdaki gibi subjectBeginsWith bir filtre kullanın:

/blobServices/default/containers/containerprefix

Belirli bir kapsayıcıda oluşturulan bloblardan gelen olayları eşleşmek için aşağıdaki gibi subjectBeginsWith bir filtre kullanın:

/blobServices/default/containers/containername/

Blob adı ön eki paylaşan belirli bir kapsayıcıda oluşturulan bloblardan gelen olayları eşleşmek için aşağıdaki subjectBeginsWith gibi bir filtre kullanın:

/blobServices/default/containers/containername/blobs/blobprefix

Blob soneki paylaşan belirli bir kapsayıcıda oluşturulan bloblardan gelen olayları eşleşmek için subjectEndsWith ".log" veya ".jpg" gibi bir filtre kullanın. Daha fazla bilgi için bkz. Event Grid Kavramları.

Olayları tüketmek için uygulamalar

Blob depolama olaylarını ele alan uygulamalar, önerilen birkaç uygulamanın ardından gelecektir:

  • Olayları aynı olay işleyiciye yönlendiren birden çok abonelik yapılandırıldığından, olayların belirli bir kaynaktan olduğunu varsaymamanızı değil, ileti konusunu kontrol etmek ve bunun istediğiniz depolama hesabından geldiğinden emin olmak önemlidir.
  • Benzer şekilde, eventType'ın işlemeye hazır olup olmadığını kontrol edin ve alasınız tüm olayların beklediğiniz türler olacağını varsayma.
  • İletiler gecikmeden sonra geldiğinden, nesnelerle ilgili bilginizin hala güncel olup olduğunu anlamak için etag alanlarını kullanın. Etag alanını kullanmayı öğrenmek için bkz. Blob depolamada eşzamanlılığı yönetme.
  • İletiler sıranın dışında geldiğinden, herhangi bir nesnede olayların sırasını anlamak için sıraleyici alanlarını kullanın. Sıraleyici alanı, belirli bir blob adı için olayların mantıksal dizisini temsil eden bir dize değeridir. Aynı blob adı üzerinde iki olay göreli dizisini anlamak için standart dize karşılaştırması kullanabilirsiniz.
  • Depolama, tüm iletilerin çıkışını sağlayan en az bir kez abone teslimi garantiler. Ancak arka uç düğümleri ve hizmetleri arasındaki yeniden denemeler veya aboneliklerin kullanılabilirliği nedeniyle yinelenen iletiler oluşabilir. İleti teslimi ve yeniden deneme hakkında daha fazla bilgi edinmek için bkz. Event Grid ileti teslimi ve yeniden deneme.
  • Blobda izin verilen işlem türlerini ve bloba erişmek için hangi istemci kitaplığı türlerini kullan gerektiğini anlamak için blobType alanını kullanın. Geçerli değerler veya BlockBlob PageBlob değerleridir.
  • Bloba erişmek için ve oluşturucuları ile url CloudBlockBlob CloudAppendBlob alanını kullanın.
  • Anlamayabilirsiniz alanları yoksayın. Bu uygulama, gelecekte eklenecek olan yeni özelliklere karşı daha fazla karşınıza varmanıza yardımcı olur.
  • Microsoft.Depolama. BlobCreated olayı yalnızca Blok Blobu tamamen işlendiğinde tetiklenir, , veya çağrılarını CopyBlob kullanarak olayı REST API PutBlob PutBlockList FlushWithClose tetiklenir. Bu API çağrıları Microsoft.Depolama. BlobCreated olayı yalnızca veriler blok blobu için tamamen işlendikten sonra. Filtre oluşturma hakkında bilgi edinmek için bkz. Olayları Event Grid..

Özellik desteği

Bu tabloda, bu özelliğin hesapta nasıl desteklen olduğu ve belirli özellikleri etkinleştiren destek üzerindeki etkisi yer alır.

Depolama hesabı türü Blob Depolama (varsayılan destek) Data Lake Depolama 1. Nesil NFS 3.0 1
Standart genel amaçlı v2 Yes Evet 2 No
Premium blobları Yes Evet 2 No

1 Data Lake Depolama 2. Nesil ve Ağ Dosya Sistemi (NFS) 3.0 protokolünün her ikisi de hiyerarşik ad alanı etkinleştirilmiş bir depolama hesabı gerektirir.

2 Bkz. Azure Data Lake Depolama 2. Nesil ile ilgili bilinen sorunlar. Bu sorunlar hiyerarşik ad alanı özelliğinin etkin olduğu tüm hesaplar için geçerlidir.

Sonraki adımlar

Blob depolama olaylarını Event Grid hakkında daha fazla bilgi edinmek için şunları deneyin: