Я использую библиотеку JavaScript @ azure / service-bus для публикации и подписки на сообщения по теме Azure Service Bus из функций Azure.Для получения сообщений я использую функцию триггера темы Azure Service Bus, созданную из шаблона без каких-либо изменений.Когда я публикую сообщение с помощью sender.send (message), я получаю его нормально.
import { AzureFunction, Context, HttpRequest } from "@azure/functions"
import * as sb from "@azure/service-bus"
const PublishToServiceBus: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {
const eventDoc = req.body;
const serviceBusConnectionString = process.env["ServiceBusConnection"];
const topicName = process.env["TopicName"]';
const sbClient = sb.ServiceBusClient.createFromConnectionString(serviceBusConnectionString);
const topicClient = sbClient.createTopicClient(topicName);
const sender = topicClient.createSender();
const message: sb.SendableMessageInfo = { body: eventDoc };
// this works
sender.send(message);
// this creates message without body?
const scheduledEnqueueTimeUtc = new Date(Date.now() + 10000);
sender.scheduleMessages(scheduledEnqueueTimeUtc, [message]);
};
export default PublishToServiceBus;
Но когда я планирую сообщение с помощью sender.scheduleMessages (), моя переменная связывания входящих сообщений не определена в функции триггера темы служебной шины Azure..
import { AzureFunction, Context } from "@azure/functions"
const serviceBusTopicTrigger: AzureFunction = async function (context: Context, mySbMsg: any): Promise<void> {
context.log('ServiceBus topic trigger function processed message', mySbMsg);
};
export default serviceBusTopicTrigger;
Вывод: ServiceBus topic trigger function processed message undefined
Это проблема с библиотекой или я что-то не так делаю?