У меня есть пара функций 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
.
Любая идея, что яделаешь неправильно?