Denetim noktası deposu sorunlarını giderme

Bu makalede Blob Depolama denetim noktası deposu olarak kullanmayla ilgili sorunlar ele alınmaktadır.

Blob Depolama denetim noktası deposu olarak kullanmayla ilgili sorunlar

Blob depolama hesabını işlemedeki gecikmelerle veya SDK kullanırken denetim noktası oluşturma hatalarıyla ilgili bir denetim noktası deposu olarak kullanırken sorunlarla karşılaşabilirsiniz.

Azure Blob Depolama denetim noktası deposu olarak kullanırken şu önerileri izleyin:

  • Her tüketici grubu için ayrı bir kapsayıcı kullanın. Aynı depolama hesabını kullanabilirsiniz, ancak her grup için bir kapsayıcı kullanabilirsiniz.
  • Kapsayıcıyı başka hiçbir şey için kullanmayın ve depolama hesabını başka hiçbir şey için kullanmayın.
  • Depolama hesabın dağıtılan uygulamanın bulunduğu bölgede olması gerekir. Uygulama şirket içindeyse, mümkün olan en yakın bölgeyi seçmeyi deneyin.

Azure portalındaki Depolama hesabı sayfasında, Blob hizmeti bölümünde aşağıdaki ayarların devre dışı bırakıldığından emin olun.

  • Hiyerarşik ad alanı
  • Blob geçici silme
  • Sürüm oluşturma

Azure Stack Hub'da Blob Depolama denetim noktası deposunu kullanma

Azure Blob Depolama'yi, Azure'da genellikle kullanılabilir olandan farklı bir Depolama Blob SDK sürümünü destekleyen bir ortamda denetim noktası deposu olarak kullanıyorsanız, Depolama hizmet API'sinin sürümünü bu ortam tarafından desteklenen belirli bir sürümle değiştirmek için kod kullanmanız gerekir. Örneğin, Event Hubs'ı Azure Stack Hub sürüm 2002'de çalıştırıyorsanız, Depolama hizmeti için en yüksek kullanılabilir sürüm 2017-11-09 sürümüdür. Bu durumda, Depolama hizmet API'sinin sürümünü 2017-11-09'a hedeflemek için kod kullanmanız gerekir. Belirli bir Depolama API sürümünü hedefleme örneği için GitHub'da şu örneklere bakın:

Azure Stack Hub'ın desteklediği sürümü hedeflemeden denetim noktası deposu olarak Blob Depolama kullanan Event Hubs alıcısını çalıştırırsanız aşağıdaki hata iletisini alırsınız:

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

Python'da örnek hata iletisi

Python için hata azure.core.exceptions.HttpResponseError işleyicisine on_error(partition_context, error)EventHubConsumerClient.receive()bir hatası geçirilir. Ancak yöntemi receive() özel durum oluşturmaz. print(error) aşağıdaki özel durum bilgilerini yazdırır:

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

Günlükçü aşağıdaki gibi iki uyarı kaydeder:

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

Sonraki adımlar

Bölümleme ve denetim noktası oluşturma hakkında bilgi edinmek için aşağıdaki makaleye bakın: Uygulamanızın birden çok örneğinde bölüm yükünü dengeleme