Я использую конфигурацию MassTransit с AmazonSQS. В своей программе я начинаю с создания точки приема с очередью «input-queue1», подписываю эту очередь SQS на SNS topi c с именем «topic1» и связываю потребителя с этой конечной точкой приема, которая выполняет стандартную печать сообщений, которые она получает. После запуска автобуса я хочу подписать уже созданную очередь «input-queue1» на другой SNS topi c с именем «topic2», но я не смог найти способ сделать это после запуска автобуса (это важно для меня что я могу сделать это после запуска автобуса). Есть ли способ сделать это, и я просто что-то упускаю, или это вообще невозможно? (Я пробовал использовать закомментированную часть кода, но это не сработало)
class Program
{
static async Task Main(string[] args)
{
var bus = Bus.Factory.CreateUsingAmazonSqs(x =>
{
x.Host(Constants.Region, h =>
{
h.AccessKey(Constants.AccesskeyId);
h.SecretKey(Constants.SecretAccessKey);
});
x.ReceiveEndpoint("input-queue1", e =>
{
e.Subscribe("topic1", callback => { });
e.Consumer(() => new Handler());
});
});
bus.StartAsync().Wait();
/*var handle = bus.ConnectReceiveEndpoint("input-queue1", e => {
e.Subscribe("topic2", callback => { });
});
var ready = await handle.Ready;*/
Console.WriteLine("Listening to messages...");
Console.WriteLine("Press enter to quit");
Console.ReadLine();
}
}