Устранение неполадок с хранилищем проверка point

В этой статье рассматриваются проблемы с использованием больших двоичных объектов служба хранилища в качестве хранилища проверка point.

Проблемы с использованием служба хранилища BLOB-объектов в качестве хранилища проверка point

При использовании учетной записи хранения BLOB-объектов могут возникнуть проблемы в качестве хранилища проверка point, связанного с задержками в обработке, или сбои при создании проверка точек при использовании пакета SDK и т. д.

Следуйте этим рекомендациям при использовании Хранилище BLOB-объектов Azure в качестве хранилища проверка point:

  • Используйте отдельный контейнер для каждой группы потребителей. Вы можете использовать одну и ту же учетную запись хранения, но использовать один контейнер для каждой группы.
  • Не используйте контейнер для других компонентов и не используйте учетную запись хранения для других действий.
  • служба хранилища учетная запись должна находиться в том же регионе, в который находится развернутое приложение. Если приложение находится в локальной среде, попробуйте выбрать ближайший регион.

На странице учетной записи служба хранилища в портал Azure в разделе службы BLOB-объектов убедитесь, что следующие параметры отключены.

  • Иерархическое пространство имен
  • Обратимое удаление BLOB-объекта
  • Управление версиями

Использование хранилища BLOB-объектов служба хранилища проверка point в Azure Stack Hub

Если вы используете Хранилище BLOB-объектов Azure в качестве хранилища проверка point в среде, поддерживающей другую версию пакета SDK служба хранилища BLOB-объектов, чем те, которые обычно доступны в Azure, необходимо использовать код для изменения служба хранилища Версия API службы для конкретной версии, поддерживаемой этой средой. Например, если вы используете Центры событий Azure Stack Hub версии 2002, последней доступной версией для службы хранилища будет версия от 09.11.2017 г. В таком случае нужно с помощью кода установить целевую версию 2017-11-09 для API Службы хранилища. Пример использования конкретной версии API служба хранилища см. в следующих примерах на сайте GitHub:

Если вы запускаете приемник Центров событий, использующий большой двоичный объект служба хранилища в качестве хранилища проверка point, не нацеливаясь на версию, которую поддерживает Azure Stack Hub, вы получите следующее сообщение об ошибке:

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

Пример сообщения об ошибке на языке Python

В случае Python ошибка azure.core.exceptions.HttpResponseError передается обработчику ошибок on_error(partition_context, error) из EventHubConsumerClient.receive(). Но метод receive() не вызывает исключение. print(error) выводит следующие сведения об исключении:

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

Средство ведения журнала регистрирует два предупреждения, например следующие:

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

Следующие шаги

Сведения о секционировании и назначении контрольных точек см. в следующей статье: Балансировка нагрузки секций между несколькими экземплярами приложения