【发布时间】:2021-05-07 23:46:13
【问题描述】:
我有一个由 EventGridEvent 触发的 Azure 函数。我正在尝试将所有事件存储在 Azure 表中,并为每个表指定事件的名称。
这就是我在不绑定的情况下解决它的方法:
[FunctionName("MyFunction")]
public static async Task MyFunction([EventGridTrigger] EventGridEvent eventGridEvent)
{
var table = CloudStorageAccount.Parse(Environment.GetEnvironmentVariable("AzureWebJobsStorage")).CreateCloudTableClient().GetTableReference(eventGridEvent.EventType);
await table.CreateIfNotExistsAsync();
// etc...
}
但我想通过绑定来完成它。
这是我尝试过的:
[FunctionName("MyFunction")]
public static async Task MyFunction(
[EventGridTrigger] EventGridEvent eventGridEvent,
[Table("{EventType}")] CloudTable table)
{
}
我收到此错误:
Microsoft.Azure.WebJobs.Host:索引方法“MyFunction”出错。 Microsoft.Azure.WebJobs.Host:无法解析绑定参数“EventType”。绑定表达式必须映射到触发器提供的值或触发器绑定到的值的属性,或者必须是系统绑定表达式(例如 sys.randguid、sys.utcnow 等。 )。
确定EventType 是触发器绑定到的EventGridEvent 的属性吗?
我应该如何在绑定中访问EventGridEvent.EventType?
【问题讨论】:
-
你能尝试做类似的事情吗stackoverflow.com/questions/57248690/…
-
我试过了,但我得到了同样的错误......
-
他们在 local.settings.json 中进行本地调试,并在 azure 中为生产环境配置应用程序
-
你试过
{eventType}(小'e')吗? docs.microsoft.com/en-us/azure/azure-functions/… -
是的,我也试过
{eventType},但仍然出现同样的错误
标签: c# azure azure-functions azure-eventgrid