缺少ServiceBusConnectionString时出现FunctionIndexingException

本文关键字:FunctionIndexingException ServiceBusConnectionString 缺少 | 更新日期: 2023-09-27 18:27:47

我创建了以下程序:

using System;
using Microsoft.Azure.WebJobs;
namespace StayUpdated.Cpe.PypyFilter
{
    public class Program
    {
        public static void Main()
        {
            var jobHost = new JobHost();
            jobHost.RunAndBlock();
        }
        public static void ProcessQueue([ServiceBusTrigger("start")] String input)
        {
        }
    }
}

在app.config中,我添加了以下连接字符串:

<add name="AzureWebJobsDashboard" connectionString="DefaultEndpointsProtocol=https;AccountName=cpepypywebjobstorage;AccountKey=2iCufOrnXeY/B/VJptegGXaAbEmoj1SOgiiAbunk1kDAPqhkgvcOj3NEVGqtm0363GHu/h6Fy8JfoWEpKCP2Rw==" />
<add name="AzureWebJobsStorage" connectionString="DefaultEndpointsProtocol=https;AccountName=cpepypywebjobstorage;AccountKey=2iCufOrnXeY/B/VJptegGXaAbEmoj1SOgiiAbunk1kDAPqhkgvcOj3NEVGqtm0363GHu/h6Fy8JfoWEpKCP2Rw==" />

我收到一个FunctionIndexingException异常,消息为Error indexing method 'ProcessQueue'

缺少ServiceBusConnectionString时出现FunctionIndexingException

这是由于缺少AzureWebJobsServiceBus连接字符串造成的。您必须添加该连接字符串,或者通过JobHostConfiguration手动连接ServiceBusConnectionString

您可以查看该异常上的内部异常,并看到它是一个带有消息的ConfigurationErrorsException

配置缺少必需的信息。请确保将属性"Endpoint"定义为"appSettings"部分中的"Microsoft.ServiceBus.ConnectionString"键或Windows Azure配置设置的一部分。

很遗憾,按照异常消息中提供的说明操作将不起作用。

我认为原因是,如果没有服务总线连接字符串,JobHost就无法加载它需要加载的任何内容来成功解析ServiceBusTrigger属性。

如果你收到的错误是沿着的路线,那会更好

尝试在没有ServiceBusConnectionString的情况下设置ServiceBusTrigger。

更好的做法是只记录一个警告,即有一些触发器永远不会被击中并继续。人们可能希望设置触发器,但并不总是有服务总线连接字符串。

相关文章:
  • 没有找到相关文章