Azure 函数部署失败,因为 function.json 错误

Azure Function Deployment failing because function.json is wrong

当我从 Visual Studio 部署 Azure 函数时,function.json 文件总是不正确。以下是队列触发函数的 function.json 文件示例:

{
  "generatedBy": "Microsoft.NET.Sdk.Functions-1.0.12",
  "configurationSource": "attributes",
  "bindings": [
{
  "type": "queueTrigger",
  "connection": "AzureWebJobsStorage",
  "queueName": "queue",
  "name": "myQueueItem"
}
],
  "disabled": false,
  "scriptFile": "../bin/x.dll",
  "entryPoint": "x"
}

为了让函数在 azure 中工作,正确的 function.json 是:

{
      "bindings": [
{
  "type": "queueTrigger",
  "connection": "AzureWebJobsStorage",
  "direction" : "in",
  "queueName": "queue",
  "name": "myQueueItem"
}
],
  "disabled": false,
  "scriptFile": "../bin/x.dll",
  "entryPoint": "x"
}

是否有自动部署的解决方案/Visual Studio 部署可以自动执行此操作?目前我正在编辑每个部署的所有 function.json 文件。任何解决方案或解决方法将不胜感激。

同意@Thomas 的观点,已经用 Microsoft.NET.Sdk.Functions-1.0.12 和最新的 Microsoft.NET.Sdk.Functions-1.0.22 测试了 v1 队列触发器模板,VS 生成的 function.json 确实有效。

其实两个function.json都在Azure上工作,下面这两行是用来告诉function.json是VS生成的,部署后不建议修改。

"generatedBy": "Microsoft.NET.Sdk.Functions-1.0.22",
"configurationSource": "attributes",

The first one would not work

函数执行结果可能不会立即显示,您可以转到 https://functionappname.scm.azurewebsites.net/DebugConsole 并导航到 D:\home\LogFiles\Application\Functions\function\{FunctionName} 检查日志文件。

您也可以访问 D:\home\LogFiles\Application\Functions\Host 来检测详细的主机日志。

如果您仍然感到困扰,您可以详细说明 would not work 并向我们展示您的代码。