【问题标题】:Azure Function Deployment failing because function.json is wrongAzure 函数部署失败,因为 function.json 错误
【发布时间】:2018-09-07 21:15:21
【问题描述】:

当我从 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 文件。任何解决方案或变通方法将不胜感激。

【问题讨论】:

  • the function.json file is wrong 是什么意思。第一个看起来还可以。你发现第一个有什么问题吗?
  • 第一个在部署到 azure 时不起作用。这个我试过很多次了,每次部署都需要把function.json编辑成第二个文件的格式
  • 我一直在使用函数 sdk 很多,它工作正常。您的目标是 azure functions runtime v1/v2 吗? .net 核心还是 .net 框架?您是否尝试过获取最新的 nuget 包 Microsoft.NET.Sdk.Functions
  • 当前使用 azure 函数运行时 v1 我有 Microsoft.NET.Sdk.Functions 的最新 nuget 包
  • @Thomas 我也在使用 .net 框架

标签: azure azure-functions continuous-deployment automated-deployment


【解决方案1】:

同意@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",

第一个不行

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

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

如果您仍然有问题,您可以详细说明would not work 并向我们展示您的代码。

【讨论】:

  • 还有一个带有输出绑定的队列触发器模板怎么样?我所做的部署不会创建输出绑定
  • @DarthVeder 这是设计使然,function.json 中没有内置输出绑定,只有触发器信息可用。
猜你喜欢
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 2014-01-09
  • 1970-01-01
  • 2018-01-07
  • 2020-01-06
  • 2023-01-30
相关资源
最近更新 更多