Cosmos DB Trigger не работает из-за ошибки привязки - PullRequest
0 голосов
/ 07 июня 2019

У меня есть космическая база данных, и я хочу использовать ее для запуска функции лазури.

При этом я получаю эту ошибку:

A ScriptHost error has occurred
Exception while executing function 
Exception binding parameter 'documents'.
Binding can only be done with IReadOnlyList<Document> or JArray
Parameter name: type.

Предположительно, причина этогопотому что я ссылаюсь на пакет Nuget Azure.DocumentDB версии 2.0.0, потому что все остальное в моей кодовой базе использует его.Эта версия конфликтует с версией, на которую ссылается Azure.WebJobs.Extensions.DocumentDB, которая является DocumentDB 1.13.2.

Azure.WebJobs.Extensions.DocumentDB - это пакет, который содержит атрибут CosmosDBTrigger, который необходим для запуска функции,Так что это должно быть.

Как мне обойти конфликт между DocumentDB 1.13.2 и 2.0.0?Я считаю совершенно нелепым, что Microsoft не поддерживает триггеры Cosmos DB с последней версией DocumentDB.

1 Ответ

1 голос
/ 08 июня 2019

Функции Azure имеют 2 версии времени выполнения, V1 и V2.

Если вы работаете с функциями Azure V1, то зависимость находится в SDK 1.13.2, причина в том, что функции Azure V1 не поддерживают перенаправления привязки (подробнее в https://github.com/Azure/azure-functions-host/wiki/Assembly-Resolution-in-Azure-Functions#assembly-resolution-in-azure-functions-10).

Вы также можете работать с функциями Azure V2, которые имеют разные пакеты расширений и разные функции. Версия SDK в Функции V2 близка к последней. Вот официальные документы для V2: https://docs.microsoft.com/azure/azure-functions/functions-bindings-cosmosdb-v2#packages---functions-2x

С функциями V2 у вас уже будет SDK 2.X.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...