Я пытаюсь запустить функцию azure локально на моем ноутбуке с помощью основных инструментов Azure Functions. Обратите внимание, что эта функция настроена как триггер cosmosDB
Я был частично вдохновлен инструкциями в этом уроке
Я начал с создания функции MyFirstFunction со следующими командами (и вставкой необходимых входных данных при появлении запроса):
func init
func start
Моя сгенерированная javascript функция (та же, что портал Azure создает для того же самого вида шаблонной функции):
module.exports = function (context, documents) {
if (!!documents && documents.length > 0) {
context.log('Document Id: ', documents[0].id);
}
context.done();
}
Мой сгенерированный function.json :
{
"bindings":
[
{
"type": "cosmosDBTrigger",
"name": "documents",
"direction": "in",
"leaseCollectionName": "leases"
}
]
}
Мой сгенерированный local.settings.json is
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
}
}
При такой настройке я пытаюсь запустить функцию, выполнив:
func host start
Все нормально работает в выводе консоли, пока не появится сообщение об ошибке:
Невозможно настроить привязку «документов» типа «cosmosDBTrigger». Это может указывать на недопустимые свойства function.json. Не могу понять, какой ctor позвонить.
Что мне не хватает? Я должен был вызвать функцию через HTTP POST для:
http://localhost:{port}/admin/functions/{function_name}
, как объяснено в учебнике, связанном выше (эта функция является триггером cosmosDB), но функция даже не может быть загружена после этой ошибки.
Чего мне не хватает для локального запуска триггера cosmosDB?
Большое спасибо.