我已经写了一个Queue Triggered函数,但是我认真地认为即使我没有得到任何错误,它也不起作用。 我解释了我工作的背景和所做的事情。
我有一个队列...由于某种原因,我每次必须在队列中插入大约200条消息。因此,我的函数几乎可以一次运行200次。 该函数的主要方法是静态的。我不喜欢...所以我创建了一个类,并且函数的所有逻辑都在那里:
public static async Task Run([QueueTrigger(Program.CONST_QUEUENAME)]string queueItem, TraceWriter log)
{
try
{
log.Info($"Start: {queueItem}");
await new MyFunction(log).ExecuteAsync(queueItem);
log.Info($"End");
}
catch (Exception ex)
{
log.Error($"Errore: {ex.Message}");
throw ex;
}
}
在我的ExecuteAsync
类的MyFunction
方法中,执行以下步骤:
response.EnsureSuccessStatusCode();
以确保调用正常。函数执行的结果为否!数据库上没有任何更新。好的,我做了一些检查以确定是否必须更新数据库..但是我希望至少会发生一次更新。
因此,我更新了该功能,添加了许多日志消息(我使用应用程序见解进行日志)和发现的内容:
那怎么了?
我只是对发布感到怀疑...将其部署到Azure(通过VS)后,我收到此消息:
Azure主机上的“功能”版本与本地版本不匹配 版。 FUNCTIONS_EXTENSION_VERSION的应用程序设置 应该更新为“〜1”。更新Azure应用程序设置以匹配 本地功能版本? ---------------------------是否
有什么主意吗?
谢谢