Azure Blob Depolama veya Azure Data Lake Depolama'da Azure Event Hubs aracılığıyla olayları yakalama

Azure Event Hubs, event hubs'daki akış verilerini azure blob depolama alanında veya Azure Data Lake Depolama 1. Nesil veya 2. Nesil hesabında otomatik olarak yakalamanıza olanak tanır ve bir zaman veya boyut aralığı belirtme esnekliği sağlar. Yakalamayı ayarlamak hızlıdır, çalıştırmak için yönetim maliyeti yoktur ve standart katmandaki Event Hubs aktarım hızı birimleriyle veya premium katmandaki işleme birimleriyle otomatik olarak ölçeklendirilir. Event Hubs Yakalama, akış verilerini Azure'a yüklemenin en kolay yoludur ve veri yakalama yerine veri işlemeye odaklanmanızı sağlar.

Event Hubs verilerini Azure Depolama veya Azure Data Lake Depolama'a yakalamayı gösteren görüntü

Not

Event Hubs Capture'ı Azure Data Lake Depolama 2. Nesil'i kullanacak şekilde yapılandırmak, bunu bir Azure Blob Depolama kullanacak şekilde yapılandırmakla aynıdır. Ayrıntılar için bkz . Event Hubs Yakalamayı Yapılandırma.

Event Hubs Capture, gerçek zamanlı ve toplu işlem hatlarını aynı akışta işlemenizi sağlar. Bu, zaman içinde gereksinimlerinizle büyüyen çözümler oluşturabileceğiniz anlamına gelir. İster bugün gelecekteki gerçek zamanlı işlemeye yönelik toplu iş tabanlı sistemler oluşturuyor olun, ister mevcut bir gerçek zamanlı çözüme verimli bir soğuk yol eklemek istiyorsanız Event Hubs Capture, akış verileriyle çalışmayı kolaylaştırır.

Önemli

  • Kimlik doğrulaması için yönetilen kimlik kullanılmadığında hedef depolama (Azure Depolama veya Azure Data Lake Depolama) hesabı olay hub'ı ile aynı abonelikte olmalıdır.
  • Event Hubs, premium depolama hesabındaki olayların yakalanmasını desteklemez.
  • Event Hubs yakalama, blok blobları desteğiyle premium olmayan tüm Azure depolama hesaplarını destekler.

Event Hubs Yakalama nasıl çalışır?

Event Hubs, dağıtılmış bir günlüğe benzer şekilde telemetri girişi için zaman saklamaya dayanıklı bir arabellektir. Event Hubs'da ölçeklendirmenin anahtarı, bölümlenmiş tüketici modelidir. Her bölüm bağımsız bir veri kesimidir ve bağımsız olarak tüketilir. Zaman içinde bu veriler yapılandırılabilir saklama süresine göre eskir. Sonuç olarak, belirli bir olay hub'ı hiçbir zaman "çok fazla dolu" olmaz.

Event Hubs Capture, yakalanan verileri depolamak için kullanılan kendi Azure Blob depolama hesabınızı ve kapsayıcınızı veya Azure Data Lake Depolama hesabınızı belirtmenizi sağlar. Bu hesaplar olay hub'ınız ile aynı bölgede veya başka bir bölgede olabilir ve Event Hubs Yakalama özelliğinin esnekliğini de ekleyebilir.

Yakalanan veriler Apache Avro biçiminde yazılır: satır içi şemaya sahip zengin veri yapıları sağlayan kompakt, hızlı, ikili bir biçim. Bu biçim Hadoop ekosisteminde, Stream Analytics'te ve Azure Data Factory'de yaygın olarak kullanılır. Avro ile çalışma hakkında daha fazla bilgiye bu makalenin ilerleyen bölümlerinden ulaşabilirsiniz.

Not

Azure portalında kod düzenleyicisi kullanmadığınızda, Event Hubs'taki akış verilerini Parquet biçiminde bir Azure Data Lake Storage 2. Nesil hesabıyla yakalayabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Event Hubs'tan Parquet biçiminde veri yakalama ve Öğretici: Event Hubs verilerini Parquet biçiminde yakalama ve Azure Synapse Analytics ile analiz etme.

Yakalama penceresi

Event Hubs Yakalama, yakalamayı denetlemek için bir pencere ayarlamanıza olanak tanır. Bu pencere, "ilk kazanç ilkesi" olan en düşük boyut ve zaman yapılandırmasıdır ve bu da karşılaşılan ilk tetikleyicinin yakalama işlemine neden olduğu anlamına gelir. On beş dakikalık, 100 MB yakalama pencereniz varsa ve saniyede 1 MB gönderiyorsanız, boyut penceresi zaman penceresinden önce tetikler. Her bölüm bağımsız olarak yakalar ve yakalama sırasında, yakalama aralığıyla karşılaşıldığı zaman için adlı tamamlanmış bir blok blobu yazar. Depolama adlandırma kuralı aşağıdaki gibidir:

{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}

Tarih değerleri sıfırlarla doldurulur; örnek bir dosya adı olabilir:

https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro

Azure depolama blobunuz geçici olarak kullanılamıyorsa Event Hubs Capture, olay hub'ınızda yapılandırılan veri saklama süresi boyunca verilerinizi korur ve depolama hesabınız yeniden kullanılabilir duruma geldikten sonra verileri geri doldurur.

Aktarım hızı birimlerini veya işleme birimlerini ölçeklendirme

Event Hubs'ın standart katmanında trafik aktarım hızı birimleri tarafından denetlenmektedir ve premium katman Event Hubs'da işleme birimleri tarafından denetlenmektedir. Event Hubs Capture, aktarım hızı birimini veya işlem birimi çıkış kotalarını atlayarak ve çıkışınızı Stream Analytics veya Spark gibi diğer işleme okuyucuları için kaydederek verileri doğrudan iç Event Hubs depolama alanından kopyalar.

Yapılandırıldıktan sonra, ilk olayınızı gönderdiğinizde Event Hubs Yakalama otomatik olarak çalışır ve çalışmaya devam eder. Aşağı akış işlemenizin işlemin çalıştığını bilmesini kolaylaştırmak için Event Hubs veri olmadığında boş dosyalar yazar. Bu işlem, toplu iş işlemcilerinizi besleyebilecek öngörülebilir bir tempo ve işaretçi sağlar.

Event Hubs Yakalamayı Ayarlama

Olay hub'ı oluşturma zamanında Yakalama'yı Azure portalını veya Azure Resource Manager şablonlarını kullanarak yapılandırabilirsiniz. Daha fazla bilgi için aşağıdaki makaleleri inceleyin:

Not

Yakalama özelliğini mevcut bir olay hub'ı için etkinleştirirseniz özellik, özellik açıldıktan sonra olay hub'ına ulaşan olayları yakalar. Özellik açılmadan önce olay hub'ında bulunan olayları yakalamaz.

Event Hubs Yakalama nasıl ücretlendirilir?

Yakalama özelliği premium katmana dahil olduğundan bu katman için ek ücret alınmaz. Standart katmanda özellik aylık olarak ücretlendirilir ve ücret, ad alanı için satın alınan aktarım hızı birimi veya işlem birimi sayısıyla doğrudan orantılıdır. Aktarım hızı birimleri veya işleme birimleri arttıkça ve azaldıkça Event Hubs Capture ölçümleri, eşleşen performans sağlamak için artar ve azalır. Ölçümler birlikte gerçekleşir. Fiyatlandırma ayrıntıları için bkz . Event Hubs fiyatlandırması.

Yakalama, ayrı olarak faturalandırıldığından çıkış kotasını kullanmaz.

Event Grid ile tümleştirme

Kaynağı Event Hubs ad alanı olan bir Azure Event Grid aboneliği oluşturabilirsiniz. Aşağıdaki öğreticide kaynak olarak olay hub'ı ve havuz olarak bir Azure İşlevleri uygulamasıyla Event Grid aboneliği oluşturma işlemi gösterilmektedir: Event Grid ve Azure İşlevleri kullanarak yakalanan Event Hubs verilerini işleme ve Azure Synapse Analytics'e geçirme.

Yakalanan dosyaları keşfetme

Yakalanan Avro dosyalarını keşfetmeyi öğrenmek için bkz . Yakalanan Avro dosyalarını keşfetme.

Hedef olarak Azure Depolama hesabı

Yakalama hedefi olarak Azure Depolama olan bir olay hub'ında yakalamayı etkinleştirmek veya yakalama hedefi olarak Azure Depolama olan bir olay hub'ında özellikleri güncelleştirmek için, kullanıcı veya hizmet sorumlusunun depolama hesabı kapsamında aşağıdaki izinlere sahip bir RBAC rolüne sahip olması gerekir. 

Microsoft.Storage/storageAccounts/blobServices/containers/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write

 

Yukarıdaki izinler olmadan aşağıdaki hatayı görürsünüz:

Generic: Linked access check failed for capture storage destination <StorageAccount Arm Id>.
User or the application with object id <Object Id> making the request doesn't have the required data plane write permissions.
Please enable Microsoft.Storage/storageAccounts/blobServices/containers/write, Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write permission(s) on above resource for the user or the application and retry.
TrackingId:<ID>, SystemTracker:mynamespace.servicebus.windows.net:myhub, Timestamp:<TimeStamp>

Depolama Blob Veri Sahibi, yukarıdaki izinlere sahip yerleşik bir roldür, bu nedenle kullanıcı hesabını veya hizmet sorumlusunu bu role ekleyin.  

Sonraki adımlar

Event Hubs Yakalama, Azure'a veri almanın en kolay yoludur. Azure Data Lake, Azure Data Factory ve Azure HDInsight'ı kullanarak, istediğiniz herhangi bir ölçekte, seçtiğiniz tanıdık araçları ve platformları kullanarak toplu işlem ve diğer analizleri gerçekleştirebilirsiniz.

Azure portalını ve Azure Resource Manager şablonunu kullanarak bu özelliği etkinleştirmeyi öğrenin: