AWS RabbitMQ ни одна из конечных точек не была доступна C#

#c# #rabbitmq #amazon-mq

Вопрос:

Я учусь использовать RabbitMQ, я создаю консольный проект C# в Visual Studio для Mac.

Я создал сервер RabbitMQ на Amazon AWS, однако каждый раз, когда я пытаюсь подключиться, я получаю сообщение об ошибке «ни одна из конечных точек не была доступна»; вот мой код:

 using System;
using System.Text;
using RabbitMQ.Client;

namespace Producer
{
    class Sender
    {
        public static void Main(string[] args)
        {
            var factory = new ConnectionFactory()
            {
                HostName = "mq.ap-southeast-1.amazonaws.com",
                Port = 5671,
                UserName = "username",
                Password = "password"
            };

            

            using(var connection = factory.CreateConnection())

            using (var channel = connection.CreateModel())
            {
                channel.QueueDeclare("BasicTest", false, false, false, null);

                string message = "Getting Started with .net Core RabbitMQ";

                var body = Encoding.UTF8.GetBytes(message);

                channel.BasicPublish("", "BasicTest", null, body);
                Console.WriteLine("Message Sent: {0}", message);
            }

            Console.WriteLine("Press Enter to Exit");
            Console.ReadLine();
        }
    }
}
 

Есть какие-нибудь идеи о том, почему я не могу связаться с AWS?

Ответ №1:

похоже, вам также необходимо ввести URI конечной точки, который также предоставляется AWS, и указать, что SSL включен. Я добавил следующий код перед открытием соединения:

 Uri uri = new Uri("amqps://mq.ap-southeast-1.amazonaws.com:5671");
factory.Ssl.Enabled = true;
factory.Uri = uri;