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:
- .NET
- Java.
- JavaScript vagy TypeScript
- Python – Szinkron, aszinkron
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