Проблема с подключением к служебной шине Azure с помощью rabbitmq-amqp1.0-client - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь подключиться к служебной шине Azure (AMQP 1.0) с помощью этого клиента erlang: https://github.com/rabbitmq/rabbitmq-amqp1.0-client

Библиотека оболочки эликсира https://github.com/pma/amqp не похоже на использование AMQP 1.0. Поэтому я пытаюсь использовать клиент Erlang напрямую.

Я сделал следующее:

git clone https://github.com/rabbitmq/rabbitmq-amqp1.0-client.git
cd rabbitmq-amqp1.0-client
make
make shell

Затем я создал конфигурацию в соответствии с файлом README на https://github.com/rabbitmq/rabbitmq-amqp1.0-client

OpnConf = #{address => Hostname,
            port => Port,
            hostname => <<"abc-shankardevy.servicebus.windows.net">>,
            tls_opts => {secure_port, [{versions, ['tlsv1.1']}]},
            container_id => <<"test-container">>,
            transfer_limit_margin => 100,
            sasl => {plain, User, Password}}.

Когда я пытаюсь открыть соединение, как в README, я получаю следующую ошибку. Я не могу следить за сообщением об ошибке erlang. Любая помощь приветствуется.

{ok, Connection} = amqp10_client:open_connection(OpnConf).
** exception exit: {noproc,{gen_server,call,
                                       [amqp10_client_sup,
                                        {start_child,[#{address =>
                                                            'abc-shankardevy.servicebus.windows.net',
                                                        container_id => <<"test-container">>,
                                                        hostname => <<"abc-shankardevy.servicebus.windows.net">>,
                                                        notify => <0.111.0>,port => 5671,
                                                        sasl =>
                                                            {plain,'RootManageSharedAccessKey',
                                                                   'mykey'},
                                                        tls_opts => {secure_port,[{versions,['tlsv1.1']}]},
                                                        transfer_limit_margin => 100}]},
                                        infinity]}}
     in function  gen_server:call/3 (gen_server.erl, line 223)
     in call from amqp10_client_connection:open/1 (src/amqp10_client_connection.erl, line 110)

1 Ответ

0 голосов
/ 06 ноября 2018

Попробуйте сначала запустить приложение:

application:ensure_all_started(amqp10_client).

Он жалуется на отсутствие определенного процесса (noproc), а именно того, который называется amqp10_client_sup. Этот процесс запускается при запуске приложения, этот кусок кода :

-module(amqp10_client_app).

-behaviour(application).

-export([start/2,
         stop/1]).

start(_Type, _Args) ->
    amqp10_client_sup:start_link().
...