Интеграция CosmosDB с Azure Fuction и SignalR - PullRequest
0 голосов
/ 19 февраля 2019

Я работаю над примером, предоставленным Microsoft по ссылке ниже https://anthonychu.ca/post/cosmosdb-real-time-azure-functions-signalr-service/ Я выполнил все шаги, получив следующее сообщение об ошибке при локальном запуске кода с помощью функции azure:

Не удалось запустить прослушиватель для функции 'Functions.OnDocumentsChanged'.[18.02.2009 21:50:54] Не удалось запустить прослушиватель функции 'Functions.OnDocumentsChanged'.Microsoft.Azure.Documents.ChangeFeedProcessor: у арендной коллекции, если она разбита на разделы, должен быть ключ раздела, равный id

enter image description here

1 Ответ

0 голосов
/ 19 февраля 2019

Сообщение об ошибке совершенно ясно, триггер использует вторичную коллекцию (аренды) для хранения состояния.В своем определении триггера вы можете указать, в Конфигурация , хотите ли вы указать конкретное имя коллекции Leases / имя базы данных или оставить значение по умолчанию («аренда»).Триггер также может создать коллекцию аренды для вас, если она не существует через атрибут CreateLeaseCollectionIfNotExists.

В вашем случае, вы, кажется, уже создали коллекцию аренды ранее.

проблема в том, что коллекция аренды, если она секционирована, должна быть в /id, о чем говорится в сообщении об ошибке:

коллекция аренды, если она секционирована, должна иметь равный ключ разделенияto id

Таким образом, чтобы исправить этот сценарий, вы можете либо:

  1. удалить текущую коллекцию аренды и использовать CreateLeaseCollectionIfNotExists = true, чтобы позволить Trigger создать ее для вас.
  2. Вручную создайте свою коллекцию аренды и установите /id в качестве ключа раздела.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...