在Visual Studio中编写的Azure队列触发功能不监听队列

时间:2019-06-21 02:14:24

标签: c# azure azure-functions azure-queues

从visual studio创建的Azure函数不是在监听队列,而是在我从门户网站创建的Azure函数时在监听队列。

以下是我在Visual Studio 2017中创建功能时执行的步骤

  • 我实现了azure队列,并将json字符串从 我的.net核心应用程序。

    只要执行.net核心代码,我就可以看到队列中的条目。

    对于这个创建的队列,我在visual中编写了azure函数 studio(队列触发功能)。

    我在添加天蓝色的同时放了连接字符串和队列名称 函数。我在这里使用实体框架来做一些数据库 操作(这是实体框架,因此我使用了1.0触发版本 在创建队列功能时。我选择了实体框架 我有意在这里做一些空间操作,Ef core 对此只有部分支持。)

    此后,我使用现有的Visual Studio代码将其部署到Azure应用 发布个人资料。

现在创建的这个函数没有在听我的天蓝色队列。由于我是天蓝色的新手,所以我可能在这里犯了一些愚蠢的错误。任何帮助或建议都非常有用。

1)Portal的创建功能正常工作。

编辑:添加了代码图像 Azure function image

1 个答案:

答案 0 :(得分:0)

我刚刚创建了一个v1 azure函数,代码如下(请使用 AzureWebJobsStorage 进行连接):

    public static class Function1
    {
        [FunctionName("Function1")]
        public static void Run([QueueTrigger("myqueue-items", Connection = "AzureWebJobsStorage")]string myQueueItem, TraceWriter log)
        {
            log.Info($"C# Queue trigger function processed: {myQueueItem}");
        }
    }

在local.settings.json中(替换为您自己的存储连接字符串):

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=xx;xxxx",
        "AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;AccountName=xxx;xxx"
    }
}

,对于 local.settings.json host.json ,右键单击->选择属性->,然后将“复制到输出目录”更改为“复制到较新”:

enter image description here

enter image description here