Ellenőrzőpont-tárolóval kapcsolatos problémák elhárítása

Ez a cikk a Blob Storage ellenőrzőpont-tárolóként való használatával kapcsolatos problémákat ismerteti.

A Blob Storage ellenőrzőpont-tárolóként való használatával kapcsolatos problémák

Problémákat tapasztalhat, ha a blobtároló-fiókokat ellenőrzőpont-tárolóként használja, amelyek a feldolgozás késésével, illetve az ellenőrzőpontok SDK használatakor történő létrehozásával kapcsolatos hibákkal kapcsolatosak.

Kövesse az alábbi javaslatokat az Azure Blob Storage ellenőrzőpont-tárolóként való használatakor:

  • Minden fogyasztói csoporthoz használjon külön tárolót. Használhatja ugyanazt a tárfiókot, de csoportonként egy tárolót.
  • Ne használja a tárolót semmi máshoz, és ne használja a tárfiókot semmi máshoz.
  • A tárfióknak ugyanabban a régióban kell lennie, amelyben az üzembe helyezett alkalmazás található. Ha az alkalmazás helyszíni, próbálja meg kiválasztani a lehető legközelebbi régiót.

Az Azure Portal Tárfiók lapján, a Blob szolgáltatás szakaszában győződjön meg arról, hogy a következő beállítások le vannak tiltva.

  • Hierarchikus névtér
  • Blob áltörlése
  • Verziókezelés

Blob Storage checkpoint Store használata az Azure Stack Hubon

Ha az Azure Blob Storage-t használja ellenőrzőpont-tárolóként egy olyan környezetben, amely a Storage Blob SDK egy másik verzióját támogatja, mint az Azure-ban általában elérhető, kóddal kell módosítania a Storage szolgáltatás API-verzióját az adott környezet által támogatott verzióra. Ha például az Event Hubsot egy Azure Stack Hub 2002-es verzióján futtatja, a Storage szolgáltatás legmagasabb elérhető verziója a 2017-11-09-es verzió. Ebben az esetben kóddal kell céloznia a Storage szolgáltatás API-verzióját a 2017-11-09-es verzióra. A Storage API adott verziójának megcélzására a GitHubon található alábbi mintákból tájékozódhat:

Ha az Azure Stack Hub által támogatott verzió megcélzása nélkül futtatja a Blob Storage-t ellenőrzőpont-tárolóként használó Event Hubs-fogadót, a következő hibaüzenet jelenik meg:

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

Minta hibaüzenet a Pythonban

Python esetén a hiba azure.core.exceptions.HttpResponseError a következő hibakezelőnek on_error(partition_context, error)EventHubConsumerClient.receive()lesz átadva: . A metódus receive() azonban nem emel kivételt. print(error) A következő kivételadatokat nyomtatja ki:

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

A naplózó két figyelmeztetést naplóz, például az alábbiakat:

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

Következő lépések

A particionálásról és az ellenőrzőpont-készítésről a következő cikk nyújt tájékoztatást: A partíció terhelésének kiegyenlítése az alkalmazás több példánya között