【发布时间】:2018-07-05 21:08:10
【问题描述】:
我正在尝试使用 Azure Functions Core Tools 在我的笔记本电脑上本地运行一个 azure 函数。请注意,此函数配置为 cosmosDB 触发器
我的部分灵感来自tutorial中的说明
我首先使用以下命令创建了一个名为 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 是
{
"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 触发器缺少什么?
非常感谢。
【问题讨论】:
-
注意我也运行过:func extensions install beforestart the function.
-
请注意,如果我按照相同的过程创建 HTTP 触发器,它可以正常工作。
-
这是 v1 还是 v2 函数应用?
-
这是一个V2函数应用
标签: azure azure-functions azure-cosmosdb serverless azure-functions-core-tools