gpt4 book ai didi

c# - 未生成的 Azure Functions C# 输入绑定(bind)是 function.json

转载 作者:行者123 更新时间:2023-12-03 03:04:16 25 4
gpt4 key购买 nike

我正在使用具有以下签名的 QueueTrigger:

public static void Run([QueueTrigger("tester")]string myQueueItem,[Blob("local/{queueTrigger}")]ICloudBlob myBlob,TraceWriter log)

正在生成的 function.json 中的绑定(bind)是:

    "bindings": [
{
"type": "queueTrigger",
"queueName": "tester",
"connection": "AzureWebJobsStorage",
"name": "myQueueItem"
}
],

这不起作用,因为它不会将适当的 blob 绑定(bind)为 in 绑定(bind)。如果我手动编辑 function.json,它会正确绑定(bind):

"bindings": [
{
"type": "queueTrigger",
"queueName": "tester",
"connection": "AzureWebJobsStorage",
"name": "myQueueItem"
},
{
"name": "myBlob",
"type": "blob",
"path": "local/{queueTrigger}",
"direction": "in",
"connection": "AzureWebJobsStorage"
}],

我的问题是如何在 C# 代码中指示输入绑定(bind)以便正确生成 function.json?我知道对于输出绑定(bind),您可以使用 out 参数来装饰它,但是 in 呢?这是一个错误还是我遗漏了什么?

最佳答案

这是通过 Function VS 工具编写的吗?这只生成一个描述触发器的 function.json [1]。其他绑定(bind)直接从 C# 属性读取,就像使用 WebJobs SDK 一样。

由工具自动生成的 function.json 还应该具有“configurationSource”:“attributes”属性。这就是告诉函数运行时从属性中读取绑定(bind)的原因。如果缺少该工具,则可能意味着您有预发布工具,并且需要更新 CLI 和 Microsoft.NET.Sdk.Functions 包。

您能否确认属性已设置?

此外,您的“Run”方法应该有一个 [FunctionName] 属性。

[1] 这是从工具的预发布版本中更改的,请参阅 https://github.com/Azure/azure-webjobs-sdk-script/issues/1508

关于c# - 未生成的 Azure Functions C# 输入绑定(bind)是 function.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45965349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com