【问题标题】:Azure Functions Not Working VS2017Azure 函数不工作 VS2017
【发布时间】:2017-10-04 17:14:45
【问题描述】:

我已经下载了 VS2017 社区版来试用 Azure 功能,但我无法让它工作。我在 Stackoverflow 和 Azure 函数 Github 页面上搜索了很多帖子,但似乎没有关于任何内容的完整文档。

这是我所拥有的:

Azure 函数:

namespace FunctionApp1
{
    public static class Function1
    {
        [FunctionName("Function1")]
        public static void Run([ServiceBusTrigger("ngctestqueue", AccessRights.Manage, Connection = "Endpoint=sb://ngcservicebus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SERVICE_BUS_KEY")]string myQueueItem, TraceWriter log)
        {
            log.Info($"C# ServiceBus queue trigger function processed message: {myQueueItem}");
        }
    }
}

host.json

{
  "disabled": false,
  "bindings": [
    {
      "name": "myQueueItem",
      "type": "serviceBusTrigger",
      "direction": "in",
      "queueName": "ngctestqueue",
      "connection": "connection",
      "accessRights": "manage"
    }
  ]
}

local.settings.json

{
    "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=ngctest2;AccountKey=STORAGE_ACCOUNT_KEY;EndpointSuffix=core.windows.net",
    "AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;AccountName=ngctest2;AccountKey=STORAGE_ACCOUNT_KEY;EndpointSuffix=core.windows.net",
    "AzureWebJobsServiceBus": "Endpoint=sb://ngcservicebus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SERVICE_BUS_KEY",
    "connection": "Endpoint=sb://ngcservicebus.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SERVICE_BUS_KEY"
  }
}

当我在本地通过 F5 运行该函数时,出现以下错误:

Microsoft.Azure.WebJobs.Host: Error indexing method 'Func
tion1.Run'. Microsoft.Azure.WebJobs.ServiceBus: Microsoft Azure WebJobs SDK Serv
iceBus connection string 'AzureWebJobsEndpoint=sb://ngcservicebus.servicebus.win
dows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SERVICE_BUS_KEY' is missing or empty.

我的开发环境如下:

1) Windows 8.1 专业版

2) VS2017 社区 15.3.5

3) Azure Functions CLI 1.0.4

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: azure visual-studio-2017 azure-functions azure-functions-runtime


    【解决方案1】:

    Connection 属性应设置为连接字符串名称,而不是值本身。然后将从配置中读取该值。

    [ServiceBusTrigger("ngctestqueue", AccessRights.Manage, Connection = "AzureWebJobsServiceBus")]
    

    您无需在本地环境中创建host.json(它将由SDK自动生成)。

    【讨论】:

    • 好的,这使错误消失了:) 但是该功能没有触发。队列中有几条消息,而且我刚刚添加了一条消息,但控制台中没有输出。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-28
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    相关资源
    最近更新 更多