【发布时间】:2019-02-08 10:36:47
【问题描述】:
我有一个正常工作的函数应用程序,它有一个 blob 输入和一个事件中心输出(在测试版中工作)。 随着最新的变化,我的功能不再起作用。 我已经尝试根据发行说明更新 host.json 文件,但它没有引用 blob 触发器:
{
"version": "2.0",
"extensions": {
"blobTriggers" : {
"name": "blob",
"type": "blobTrigger",
"direction": "in",
"path": "iot3gblobs/{name}",
"connection": "AzureWebJobsStorage"
},
"eventHubs": {
"type": "eventHub",
"name": "outputEventHubMessages",
"path": "ioteventhub",
"connection": "IoTEventHubConnection",
"cardinality": "many",
"direction": "out"
}
},
"Host" :
{
"LocalHttpPort": 7071,
"CORS": "*"
},
"disabled": false
}
另外,升级时 Microsoft.NET.Sdk.Functions 从 1.0.14 到 1.0.19 无法识别 blobTrigger 属性,我的代码将无法编译:
[FunctionName("iotserverparser")]
public async static Task Run(
[BlobTrigger("iot3gblobs/{name}", Connection = "AzureWebJobsStorage")]
Stream blob,
[EventHub(
"outputEventHubMessages", Connection =
"IoTEventHubConnection")]
如前所述,这是因为上次 Azure Function App 更新,我还没有看到任何关于如何在这个新的 2.0 版本中使用 Blob 触发器的示例。
【问题讨论】:
-
您需要为 blob 存储绑定使用新包。
Microsoft.Azure.WebJobs.Extensions.Storage@ 3.0.0-beta8(检查“预发布”)应该使这些触发器再次编译。总的来说,最新的 Azure Func 更改破坏了很多东西:github.com/Azure/Azure-Functions/issues/928 -
谢谢,@Svend - 成功了!真是一团糟……
-
是的,一团糟是轻描淡写。这个周末我在这个上浪费了 10 个小时(以及其他重大变化)
标签: c# azure azure-functions azure-blob-storage