Функция Azure v1 ServiceBusTrigger не принимает сообщения - PullRequest
0 голосов
/ 24 октября 2018

У меня есть пара функций Azure, отправляющих сообщения в ServiceBus, настроенных так:

[FunctionName("UpsertEntity")]
public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "post", Route = "v1/Entity/Upsert")]HttpRequestMessage req, 
    [ServiceBus("archive", AccessRights.Manage, Connection = "ArchiveQueueConnectionString")] IAsyncCollector<ArchiveMessage> archiveAsyncCollector,
    [ServiceBus("crm", AccessRights.Manage, Connection = "CRMQueueConnectionString")] IAsyncCollector<BrokeredMessage> crmAsyncCollector, 
    TraceWriter log)

...

await archiveAsyncCollector.AddAsync(new ArchiveMessage(ConfigKeys.UpsertEntityMessageLabel, DateTime.UtcNow) { Content = jsonContent });
await crmAsyncCollector.AddAsync(new BrokeredMessage(entity) { Label = ConfigKeys.UpsertEntityMessageLabel });

Я вижу, что сообщения отправляются в ServiceBus без проблем.Тогда у меня есть две функции, которые должны их обрабатывать, но они никогда не запускаются.Функция определена следующим образом:

[FunctionName("ProcessMessage")]
public static void Run([ServiceBusTrigger("crm", AccessRights.Manage, Connection = "CRMQueueConnectionString")]BrokeredMessage message, TraceWriter log)

[FunctionName("ArchiveMessage")]
public async static void Run([ServiceBusTrigger("archive", AccessRights.Manage, Connection = "ArchiveQueueConnectionString")] Messages.ArchiveMessage archiveMessage,
    //[Table("MessageArchive")] CloudTable outputTable, TraceWriter log)
    TraceWriter log)

Кажется, что ни один из них не запускается, журналы также пусты, даже никаких исключений.

Я дважды проверил, правильна ли строка подключения.

Одна вещь, которая потенциально приходит на ум - это не несоответствие сборки, я нацеливаюсь на функции v1 и использую Microsoft.Azure.WebJobs.ServiceBus пакет v2.2.0.

Любая идея, что яделаешь неправильно?

1 Ответ

0 голосов
/ 24 октября 2018

Так что для любого глупого, как я:

Дважды проверьте белый список в host.json и убедитесь, что все ваши функции перечислены там.

...