首页 文章

Azure函数不生成extensions.json

提问于
浏览
1

我有一个具有多个功能的Azure Functions项目,由ServiceBus和BlobStorage触发 .

他们几个月来一直在建造和部署到天蓝色的罚款 .
最近发生了一些事情,当您单击函数 Error: The binding type(s) 'blobTrigger' are not registered. 时,它们不再从我的构建计算机部署而在Azure中出现错误
尽管如此,它仍然可以从我的开发机器中部署 . 他们使用WEBSITE_RUN_FROM_ZIP来部署代码本身 .

我从我的开发机器和构建机器中取出了发布目录,看起来文件 extensions.json 正在本地生成,但不在构建机器上,还有空的本地化文件夹,但尚未考虑 .
Azure功能的目标是.Net Standard 2.0 . 检查.Net版本,.Net core是构建和开发机器上的相同版本 .

导致生成此文件的原因是什么?

2 回答

  • 2

    其中一个可能的原因可能是Azure Functions v2.0的更新

    这可以解释突然的变化导致功能的错误,正如你所提到的那样,直到几个月前才开始工作 .

    看看这个问题https://github.com/Azure/azure-functions-host/issues/3363#issuecomment-417926456

    它与你的非常相似 .

    v2.0中的一个变化是,在使用与存储相关的触发器时,您需要引用存储扩展

    在适当的地方引用存储扩展如果您具有使用触发器,输入绑定或输出绑定的Azure存储(queue / tables / blob)的功能,则需要引用新的Microsoft.Azure.WebJobs.Extensions.Storage延期 .

    这是一个记录所有重大变化的链接 - Azure Functions Runtime 2.0.12050-alpha breaking changes notice

  • 0

    我已经能够按照this Github comment中的建议解决这个问题 .

    基本上有时您必须包含额外的依赖项以使msbuild / visual studio运行后构建步骤并生成扩展文件 .
    添加 Microsoft.Azure.Webjobs.Script.ExtensionsMetadataGenerator 作为函数项目的依赖项,它应该始终(到目前为止)正确构建您的发布目录 .

    按照惯例,将问题留给有人告诉我们为什么需要这样做 .

相关问题