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.
In diesem Artikel werden Probleme mit der Verwendung von Blob Storage als Prüfpunktspeicher erläutert.
Probleme bei der Verwendung von Blob Storage als Prüfpunktspeicher
Es können Probleme auftreten, wenn Sie ein Blob-Speicherkonto als Prüfpunktspeicher verwenden. Diese Probleme können Verzögerungen bei der Verarbeitung oder Fehler beim Erstellen von Prüfpunkten bei Verwendung des SDK umfassen.
Befolgen Sie diese Empfehlungen, wenn Sie Azure Blob Storage als Prüfpunktspeicher verwenden:
- Verwenden Sie einen separaten Container für jede Consumergruppe. Sie können dasselbe Speicherkonto verwenden, aber verwenden Sie für jede Gruppe einen eigenen Container.
- Verwenden Sie das Speicherkonto nicht für andere Elemente.
- Verwenden Sie den Container nicht für andere Elemente.
- Erstellen Sie das Speicherkonto in derselben Region wie die bereitgestellte Anwendung. Wenn die Anwendung lokal ist, versuchen Sie, die nächstgelegene Region auszuwählen.
Stellen Sie auf der Seite Speicherkonto im Azure-Portal im Abschnitt Blobdienst sicher, dass die folgenden Einstellungen deaktiviert sind.
- Hierarchischer Namespace
- Vorläufiges Löschen von Blobs
- Versionsverwaltung
Verwenden des Blob Storage-Prüfpunktspeichers im Azure Stack Hub
Wenn Sie Azure Blob Storage als Prüfpunktspeicher in einer Umgebung verwenden, die eine andere Version des Storage Blob SDK unterstützt als die, die normalerweise in Azure verfügbar sind, müssen Sie Code verwenden, um die Speicherdienst-API-Version in die spezifische Version zu ändern, die von dieser Umgebung unterstützt wird. Wenn Sie beispielsweise Event Hubs auf einer Azure Stack Hub-Version 2002 ausführen, ist die höchste verfügbare Version für den Speicherdienst Version 2017-11-09. In diesem Fall müssen Sie Code verwenden, um die Speicherdienst-API-Version auf 2017-11-09 festzulegen. Ein Beispiel für das Ziel einer bestimmten Speicher-API-Version finden Sie in den folgenden Beispielen auf GitHub:
- .NETTO
- Java.
- JavaScript oder TypeScript
- Python: Synchron, asynchron
Wenn Sie Event Hubs-Empfänger ausführen, der Blob Storage als Prüfpunktspeicher verwendet, ohne auf die von Azure Stack Hub unterstützte Version abzielen, erhalten Sie die folgende Fehlermeldung:
The value for one of the HTTP headers is not in the correct format
Beispielfehlermeldung in Python
Für Python wird der Fehler azure.core.exceptions.HttpResponseError an den Fehlerhandler on_error(partition_context, error) von EventHubConsumerClient.receive() übergeben. Die Methode receive() löst jedoch keine Ausnahme aus.
print(error) druckt die folgenden Ausnahmeinformationen:
The value for one of the HTTP headers is not in the correct format.
RequestId:f048aee8-a90c-08ba-4ce1-e69dba759297
Time:2020-03-17T22:04:13.3559296Z
ErrorCode:InvalidHeaderValue
Error:None
HeaderName:x-ms-version
HeaderValue:2019-07-07
Der Logger protokolliert zwei Warnungen wie die folgenden:
WARNING:azure.eventhub.extensions.checkpointstoreblobaio._blobstoragecsaio:
An exception occurred during list_ownership for namespace '<namespace-name>.eventhub.<region>.azurestack.corp.microsoft.com' eventhub 'python-eh-test' consumer group '$Default'.
Exception is HttpResponseError('The value for one of the HTTP headers is not in the correct format.\nRequestId:f048aee8-a90c-08ba-4ce1-e69dba759297\nTime:2020-03-17T22:04:13.3559296Z\nErrorCode:InvalidHeaderValue\nError:None\nHeaderName:x-ms-version\nHeaderValue:2019-07-07')
WARNING:azure.eventhub.aio._eventprocessor.event_processor:EventProcessor instance '26d84102-45b2-48a9-b7f4-da8916f68214' of eventhub 'python-eh-test' consumer group '$Default'. An error occurred while load-balancing and claiming ownership.
The exception is HttpResponseError('The value for one of the HTTP headers is not in the correct format.\nRequestId:f048aee8-a90c-08ba-4ce1-e69dba759297\nTime:2020-03-17T22:04:13.3559296Z\nErrorCode:InvalidHeaderValue\nError:None\nHeaderName:x-ms-version\nHeaderValue:2019-07-07'). Retrying after 71.45254944090853 seconds
Nächste Schritte
Um mehr über das Partitionieren und das Setzen von Prüfpunkten zu erfahren, lesen Sie den folgenden Artikel: Ausgleich der Partitionslast über mehrere Instanzen Ihrer Anwendung