我的Azure函数在部署时不会更新

时间:2018-07-02 09:40:54

标签: azure-functions

我已经写了一个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方法中,执行以下步骤:

  • 反序列化消息
  • 在反序列化项目和db中存储的某些数据之间进行一些检查
  • 如果检查正常,请调用api。 API,更新另一个数据库
  • 在api调用之后,我执行response.EnsureSuccessStatusCode();以确保调用正常。

函数执行的结果为否!数据库上没有任何更新。好的,我做了一些检查以确定是否必须更新数据库..但是我希望至少会发生一次更新。

因此,我更新了该功能,添加了许多日志消息(我使用应用程序见解进行日志)和发现的内容:

  • 大约200条消息写在队列上(因此,问题不在写队列上)
  • 该函数正确执行了约200次
  • 我看到一个异常...就像我正在运行该函数的旧版本一样。我没有看到所有新的日志消息。显然,我部署了该功能的新版本。

那怎么了?

我只是对发布感到怀疑...将其部署到Azure(通过VS)后,我收到此消息:

  

Azure主机上的“功能”版本与本地版本不匹配   版。 FUNCTIONS_EXTENSION_VERSION的应用程序设置   应该更新为“〜1”。更新Azure应用程序设置以匹配   本地功能版本?   ---------------------------是否

有什么主意吗?

谢谢

0 个答案:

没有答案