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

Azure Event Hubs Yakalama özelliği, Event Hubs üzerinden bir Azure Blob Depolama veya Azure Data Lake Storage hesabına akan akış verilerini otomatik olarak yakalar. Event Hubs'ın verileri ne zaman depolaacağını denetlemek için bir zaman veya boyut aralığı belirtebilirsiniz. Event Hubs Yakalama özelliğini hızla etkinleştirebilir veya ayarlayabilirsiniz. Çalıştırmak için yönetim maliyetleri gerektirmez ve Event Hubs kapasitesiyle otomatik olarak ölçeklendirilir.

Standart katman aktarım hızı birimlerini, Premium katmanı ise işleme birimlerini kullanır. Event Hubs Capture, akış verilerini Azure'a yükleme işlemini basitleştirir ve veri yakalama yerine veri işlemeye odaklanmanızı sağlar.

Event Hubs'un verilerini Blob Depolama'ya veya Veri Gölü Depolama'ya yakalayan prosesin gösterildiği diyagram.

Aynı akışta gerçek zamanlı ve toplu işlem hatlarını işlemek için Event Hubs Capture'ı kullanın. Bu yaklaşım, zaman içinde gereksinimlerinizle büyüyen çözümler oluşturmanıza yardımcı olur. Toplu iş tabanlı sistemler kullanıyor ve daha sonra gerçek zamanlı işleme eklemeyi planlıyorsanız veya 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.

Dikkat edilmesi gereken önemli noktalar

  • Kimlik doğrulaması için yönetilen kimlik kullanmadığınızda Blob Depolama veya Data Lake Storage hedef depolama hesabının olay hub'ı ile aynı abonelikte bulunması gerekir.

  • Event Hubs, premium Azure Depolama hesaplarındaki olayların yakalanmasını desteklemez.

  • Event Hubs Capture, blok bloblarına izin veren şirket dışı Depolama hesaplarını destekler.

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

Event Hubs, dağıtılmış günlüğe benzer şekilde telemetri girişi için zaman saklamaya dayanıklı bir arabellek görevi görür. Bölümlenmiş tüketici modeli ölçeklenebilirlik sağlar. Her bölüm bağımsız bir veri kesimidir ve bağımsız olarak tüketilir. Bu veriler yapılandırılabilir saklama süresinden sonra silinir, bu nedenle olay hub'ı hiçbir zaman fazla dolmaz.

Event Hubs Capture, yakalanan verileri depolamak için bir Blob Depolama hesabı ve kapsayıcısı veya Data Lake Storage hesabı belirtmenizi sağlar. Bu hesaplar olay hub'ınız ile aynı bölgede veya başka bir bölgede bulunabilir ve bu da esneklik sağlar.

Event Hubs Capture, yakalanan verileri Apache Avro biçiminde yazar. Bu, satır içi şemaya sahip zengin veri yapıları sağlayan kompakt, hızlı, ikili bir biçimdir. Hadoop ekosistemi, Azure Stream Analytics ve Azure Data Factory bu biçimi kullanır. Bu makalenin sonraki bölümlerinde Avro ile çalışma hakkında daha fazla bilgi sağlanır.

Not

Yakalama penceresi

Yakalamayı denetlemek için Event Hubs Capture'ı kullanarak minimum boyut ve zaman yapılandırması kullanan bir pencere ayarlayın. Sistem öncelikli gelir ilkesini uygular; bu da karşılanan ilk koşulun (boyut ya da zaman) yakalamayı tetiklemesi anlamına gelir. Örneğin, on beş dakikalık, 100 megabaytlık (MB) yakalama pencereniz varsa ve saniyede 1 MB gönderiyorsanız, boyut penceresi zaman penceresinden önce tetikler.

Her bölüm verileri bağımsız olarak yakalar ve yakalama sırasında tamamlanmış bir blok blobu yazar. Blob adı, yakalama aralığının gerçekleştiği zamanı yansıtır.

Depolama adlandırma kuralı şu yapıyı izler:

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

Tarih değerleri sıfırlarla doldurulur. Aşağıdaki dosya adı bir örnek gösterir:

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

Depolama blobunuz geçici olarak kullanılamaz duruma gelirse Event Hubs Capture, verilerinizi olay hub'ınızda yapılandırdığınız veri saklama süresi boyunca saklar. Depolama hesabınız yeniden kullanılabilir duruma geldikten sonra Event Hubs Capture verileri doldurur.

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

Event Hubs'ın Standart katmanında aktarım hızı birimleri trafiği denetler. Premium katmanında işleme birimleri trafiği denetler. Event Hubs Capture verileri doğrudan iç Event Hubs depolama alanından kopyalar. Bu depolama birimi veya işlem birimi çıkış kotalarını atlar ve çıkışınızı Stream Analytics veya Apache Spark gibi diğer işleme okuyucuları için kaydeder.

Event Hubs Capture'ı yapılandırdıktan sonra, ilk olayınızı gönderdiğinizde otomatik olarak başlatılır ve çalışmaya devam eder. Aşağı akış sistemlerinin işlemin çalıştığını onaylamasına yardımcı olmak için Event Hubs, kullanılabilir 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 Kaydetmeyi Ayarlayın

Olay hub'ı oluştururken Yakalama'yı yapılandırmak için Azure portalını veya Azure Resource Manager şablonunu (ARM şablonu) kullanın. Daha fazla bilgi için aşağıdaki makaleleri inceleyin:

Not

Yakalama özelliğini mevcut bir olay hub'ı için etkinleştirirseniz, özellik yalnızca siz etkinleştirdikten sonra gelen olayları yakalar. Etkinleştirmeden önce var olan olayları yakalamaz.

Event Hubs Capture için faturalama

Event Hubs Premium katmanı Yakalama özelliğini içerir. Standart katman için Azure, ad alanının aktarım hızı birimi sayısına göre Aylık Yakalama ücreti alır. Aktarım hızı birimlerini artırıp azalttıkça Event Hubs Capture ölçümünü performansa uyacak şekilde ayarlar. Bu ölçerler aynı zamanda ölçeklenir.

Azure bunu ayrı olarak faturaladığı için yakalama işlemi çıkış kotası kullanmaz.

Daha fazla bilgi için bkz. Event Hubs fiyatlandırması.

Azure Event Grid ile tümleştirme

Kaynağı Event Hubs ad alanı olan bir Azure Event Grid aboneliği oluşturabilirsiniz. Kaynak olarak olay merkezi ve hedef olarak Azure İşlevleri uygulaması kullanarak Event Grid aboneliği nasıl oluşturulacağı hakkında daha fazla bilgi için bkz. Yakalanan Event Hubs verilerini 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 Depolama kullanan bir olay hub'ında Yakalama'yı etkinleştirmek veya yakalama hedefi olarak Depolama kullanan bir olay hub'ındaki özellikleri güncelleştirmek için, kullanıcı veya hizmet sorumlusunun depolama hesabı kapsamında atanan aşağıdaki izinleri içeren rol tabanlı erişim denetimi (RBAC) rolüne sahip olması gerekir:

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

Bu izin olmadan aşağıdaki hata görüntülenir:

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>

Bu sorunu çözmek için kullanıcı hesabını veya hizmet sorumlusunu, gerekli izinleri içeren Depolama Blob Veri Sahibi yerleşik rolüne ekleyin.

Event Hubs Capture, Azure'a veri almak için kolay bir yol sağlar. Data Lake Storage, Azure Data Factory ve Azure HDInsight ile istediğiniz ölçekteki tanıdık araçları ve platformları kullanarak toplu işlem ve analiz gerçekleştirebilirsiniz.

Bu özelliği etkinleştirmek için Azure portalını veya ARM şablonunu kullanın:

Yakalama hedef depolama hesabınız için veri yedekliliği seçenekleri hakkında daha fazla bilgi için bkz . Blob Depolamada Güvenilirlik.