Použití služby Blob Storage jako úložiště kontrolních bodů – Event Hubs v Azure Stack Hub

Pokud jako úložiště kontrolních bodů používáte Azure Blob Storage v prostředí, které podporuje jinou verzi sady Storage Blob SDK než ty, které jsou obvykle dostupné v Azure, budete muset pomocí kódu změnit verzi rozhraní API služby Storage na konkrétní verzi podporovanou tímto prostředím. Pokud například používáte Event Hubs na verzi Azure Stack Hub 2002,je nejvyšší dostupná verze pro službu Storage verze 2017-11-09. V tomto případě budete muset použít kód pro cílení rozhraní API služby Storage na verzi 2017-11-09. Příklad cílení na konkrétní verzi rozhraní API Storage najdete v těchto ukázkech na GitHub:

Pokud spustíte Event Hubs, který jako úložiště kontrolních Storage používá blob Storage, aniž by se zacílel na verzi, kterou Azure Stack Hub podporuje, zobrazí se následující chybová zpráva:

The value for one of the HTTP headers is not in the correct format

Ukázková chybová zpráva v Pythonu

V Případě Pythonu se azure.core.exceptions.HttpResponseError obslužné rutině chyb předá on_error(partition_context, error) chyba EventHubConsumerClient.receive() . Metoda ale receive() nevydá výjimku. print(error) zobrazí následující informace o výjimce:

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

Protokolovací nástroj bude protokolovat dvě upozornění jako následující:

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

Další kroky

Informace o dělení a vytváření kontrolních bodů najdete v následujícím článku: Vyrovnávání zatížení oddílů napříč několika instancemi vaší aplikace.