Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Feature Azure Event Hubs Capture erfasst automatisch Streamingdaten, die über Event Hubs zu einem Azure Blob Storage - oder Azure Data Lake Storage-Konto fließen. Um zu steuern, wann Event Hubs die Daten speichert, können Sie eine Uhrzeit oder ein Größenintervall angeben. Sie können das Feature "Event Hubs Capture" schnell aktivieren oder einrichten. Es sind keine Verwaltungskosten erforderlich, um betrieben zu werden, und es wird automatisch mit der Kapazität von "Event Hubs" skaliert.
Die Standardebene verwendet Durchsatzeinheiten, und die Premium-Ebene verwendet Verarbeitungseinheiten. Event Hubs Capture vereinfacht den Prozess des Ladens von Streamingdaten in Azure und ermöglicht es Ihnen, sich auf die Datenverarbeitung zu konzentrieren und nicht auf die Datenerfassung.
Verwenden Sie "Event Hubs Capture", um Echtzeit- und batchbasierte Pipelines im selben Datenstrom zu verarbeiten. Dieser Ansatz hilft Ihnen beim Erstellen von Lösungen, die mit Ihren Anforderungen im Laufe der Zeit wachsen. Wenn Sie batchbasierte Systeme verwenden und eine spätere Echtzeitverarbeitung planen oder einen effizienten Kalten Pfad zu einer vorhandenen Echtzeitlösung hinzufügen möchten, vereinfacht Event Hubs Capture das Arbeiten mit Streamingdaten.
Wichtige zu berücksichtigende Punkte
Das Zielspeicherkonto, entweder Blob Storage oder Data Lake Storage, muss sich im gleichen Abonnement wie der Event Hub befinden, wenn Sie keine verwaltete Identität für die Authentifizierung verwenden.
Event Hubs unterstützen das Erfassen von Ereignissen in Premium-Azure Storage-Konten nicht.
Event Hubs Capture unterstützt nichtpremium-Speicherkonten, die Block-Blobs zulassen.
Funktionsweise von Event Hubs Capture
Event Hubs dient als dauerhafter Zeitaufbewahrungspuffer für Telemetrieeingänge, ähnlich einem verteilten Protokoll. Das partitionierte Consumermodell ermöglicht Skalierbarkeit. Jede Partition ist ein unabhängiges Datensegment und wird unabhängig genutzt. Diese Daten werden nach dem konfigurierbaren Aufbewahrungszeitraum gelöscht, sodass der Event Hub nie zu voll wird.
Mit der Event Hubs-Erfassung können Sie ein Blob Storage-Konto und einen Container oder ein Data Lake Storage-Konto angeben, um erfasste Daten zu speichern. Diese Konten können sich in derselben Region wie Ihr Event Hub oder in einer anderen Region befinden, wodurch Flexibilität hinzugefügt wird.
Event Hubs Capture schreibt erfasste Daten im Apache Avro-Format , ein kompaktes, schnelles Binärformat, das umfangreiche Datenstrukturen mit Inlineschema bereitstellt. Das Hadoop-Ökosystem, Azure Stream Analytics und Azure Data Factory verwenden dieses Format. In späteren Abschnitten dieses Artikels finden Sie weitere Informationen zum Arbeiten mit Avro.
Hinweis
Wenn Sie den No-Code-Editor im Azure-Portal verwenden, können Sie Streamingdaten in Event Hubs im Parquet-Format in einem Data Lake Storage-Konto erfassen. Weitere Informationen finden Sie unter Erfassen von Daten aus Event Hubs im Parkettformat und Erfassen von Event Hubs-Daten im Parkettformat und analysieren sie mithilfe von Azure Synapse Analytics.
Führen Sie zum Konfigurieren der Event Hubs-Erfassung mit Data Lake Storage die gleichen Schritte wie das Konfigurieren mit Blob Storage aus. Weitere Informationen finden Sie unter Configure Event Hubs Capture.
Data Lake Storage Gen1 ist eingestellt und wird für Event Hubs Capture nicht mehr unterstützt. Wenn Sie Gen1 verwenden, migrieren Sie zu Gen2, um Kompatibilität und fortgesetzte Unterstützung sicherzustellen.
Capture-Fenster
Um die Erfassung zu steuern, verwenden Sie die Event Hubs Capture, um ein Fenster einzurichten, das eine Mindestgröße und Zeitkonfiguration verwendet. Das System wendet eine First-Wins-Richtlinie an, was bedeutet, dass die erste Bedingung – entweder Größe oder Uhrzeit – die Erfassung auslöst. Wenn Sie beispielsweise ein fünfzehnminütiges, 100-Megabyte (MB) Aufnahmefenster haben und 1 MB pro Sekunde senden, wird das Größenfenster vor dem Zeitfenster aktiviert.
Jede Partition erfasst Daten unabhängig und schreibt beim Erfassungsvorgang ein abgeschlossenes Block-BLOB. Der Blobname gibt den Zeitpunkt an, zu dem das Aufnahmeintervall gefunden wurde.
Die Speicherbenennungskonvention folgt dieser Struktur:
{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}
Die Datumswerte werden mit Nullen aufgefüllt. Der folgende Dateiname zeigt ein Beispiel:
https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro
Wenn Ihr Speicher-BLOB vorübergehend nicht verfügbar ist, speichert Event Hubs Capture Ihre Daten für den Datenaufbewahrungszeitraum, den Sie auf Ihrem Event Hub konfigurieren. Nachdem Ihr Speicherkonto wieder verfügbar ist, füllt Event Hubs Capture die Daten zurück.
Skalieren von Durchsatzeinheiten oder Verarbeitungseinheiten
In der Standardstufe von Event Hubs regeln Durchsatzeinheiten den Datenverkehr. In der Premium-Stufe steuern Verarbeitungseinheiten den Datenverkehr. Bei Event Hubs Capture werden Daten direkt aus dem internen Event Hubs-Speicher kopiert. Dabei werden Durchsatzeinheiten- oder Verarbeitungseinheitenkontingente für ausgehenden Datenverkehr umgangen und stattdessen für andere Verarbeitungsreader wie Stream Analytics oder Apache Spark verwendet.
Nachdem Sie event Hubs Capture konfiguriert haben, wird sie automatisch gestartet, wenn Sie Ihr erstes Ereignis senden und die Ausführung fortsetzen. Um nachgeschaltete Systeme zu bestätigen, dass der Prozess funktioniert, schreibt Event Hubs leere Dateien, wenn keine Daten verfügbar sind. Dieser Prozess sorgt für einen vorhersagbaren Rhythmus und Marker, die als Feed für Ihre Batchprozessoren fungieren.
Einrichten von Event Hubs Capture
Verwenden Sie das Azure-Portal oder eine Azure Resource Manager-Vorlage (ARM-Vorlage), um die Erfassung beim Erstellen eines Event Hubs zu konfigurieren. Weitere Informationen finden Sie in den folgenden Artikeln:
- Aktivieren der Event Hubs Capture mithilfe des Azure-Portals
- Erstellen eines Event Hubs-Namespaces, der einen Event Hub enthält, und die Erfassung mithilfe einer ARM-Vorlage aktivieren
Hinweis
Wenn Sie das Aufnahmefeature für einen vorhandenen Event Hub aktivieren, erfasst das Feature nur die Ereignisse, die nach dem Aktivieren eingehen. Es erfasst keine Ereignisse, die vor der Aktivierung vorhanden sind.
Event Hubs Erfassung von Abrechnungsdaten
Die Event Hubs Premium-Stufe enthält die Aufnahmefunktion. Für die Stufe "Standard" berechnet Azure die Gebühren für die monatliche Capture-Dienstleistung basierend auf der Anzahl der Durchsatzeinheiten für den Namespace. Während Sie Durchsatzeinheiten nach oben oder unten skalieren, passt Event Hubs Capture die Zähler an die Leistung an. Diese Meter skalieren im Tandem.
Die Erfassung verbraucht kein Ausgangskontingent, da Azure es separat abrechnen kann.
Weitere Informationen finden Sie unter Event Hubs-Preise.
Integration in Das Azure-Ereignisraster
Sie können ein Azure Event Grid-Abonnement mit einem Event Hubs-Namespace als Quelle erstellen. Weitere Informationen zum Erstellen eines Event Grid-Abonnements mit einem Event Hub als Quelle und einer Azure Functions-App als Spüle finden Sie unter Migrieren erfasster Event Hubs-Daten zu Azure Synapse Analytics.
Erkunden erfasster Dateien
Informationen zum Erkunden erfasster Avro-Dateien finden Sie unter Erkunden erfasster Avro-Dateien.
Azure Storage-Konto als Ziel
Um die Erfassung auf einem Ereignishub zu aktivieren, der Speicher als Aufnahmeziel verwendet, oder um Eigenschaften auf einem Event Hub zu aktualisieren, der Speicher als Aufnahmeziel verwendet, muss der Benutzer oder der Dienstprinzipal über eine rollenbasierte Zugriffssteuerungsrolle (RBAC) verfügen, die die folgenden Berechtigungen enthält, die dem Speicherkontobereich zugewiesen sind:
Microsoft.Storage/storageAccounts/blobServices/containers/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Ohne diese Berechtigung wird der folgende Fehler angezeigt:
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>
Um dieses Problem zu beheben, fügen Sie das Benutzerkonto oder den Dienstprinzipal der integrierten Rolle " Storage Blob Data Owner " hinzu, die die erforderlichen Berechtigungen enthält.
Verwandte Inhalte
Event Hubs Capture bietet eine einfache Möglichkeit, Daten in Azure aufzunehmen. Mit Data Lake Storage, Azure Data Factory und Azure HDInsight können Sie Batchverarbeitung und Analyse durchführen, indem Sie vertraute Tools und Plattformen in beliebiger Größenordnung verwenden.
Um dieses Feature zu aktivieren, verwenden Sie das Azure-Portal oder eine ARM-Vorlage:
- Aktivieren der Event Hubs-Erfassung über das Azure-Portal
- Verwenden einer ARM-Vorlage zum Aktivieren der Event Hubs Capture
Weitere Informationen zu Datenredundanzoptionen für Ihr Aufnahmezielspeicherkonto finden Sie unter Zuverlässigkeit im Blob Storage.