首页 > 解决方案 > 如何实现天蓝色服务总线队列触发/存储连接错误

问题描述

我想从 azure 中的服务总线队列中获取消息,对于除 HttpTrigger 和 kafkaTrigger 之外的所有触发器,我需要在本地设置中为 AzureWebJobsStorage 指定一个值(连接字符串)。我在 azure 中部署了一个 blob 存储,因此我获取了存储帐户的连接字符串并将其放入 loca.settings.json

    {
  "IsEncrypted": false,
  "Values": {
  "FUNCTIONS_WORKER_RUNTIME": "java",
    "AzureWebJobsStorage" : "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxx;EndpointSuffix=core.windows.net",
   "myConnection" : "<Connection string>"
  }
}

但我从天蓝色得到一个例外

The 'messageReceiver' function is in error: Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.messageReceiver'. Microsoft.WindowsAzure.Storage: No valid combination of account information found.

我检查了多次连接字符串是正确的。他们说我需要删除端点后缀,但这不起作用。先感谢您。

标签: javaazureazureservicebus

解决方案


Azure 函数存储帐户要求

创建函数应用时,必须创建或链接到支持 Blob、队列和表存储的通用 Azure 存储帐户。这是因为 Functions 依赖于 Azure 存储来执行管理触发器和记录函​​数执行等操作。某些存储帐户不支持队列和表。这些帐户包括仅限 Blob 的存储帐户、Azure 高级存储和具有 ZRS 复制的通用存储帐户。创建函数应用时,这些不受支持的帐户会从存储帐户边栏选项卡中过滤掉。详细点这里

如果您使用的是 Windows 10 机器,则可以使用本地存储帐户


推荐阅读