Протокол AMQP в конфигурации системы 1С: Шина
-

Протокол AMQP в конфигурации системы 1С: Шина

0
4231
15.12.2023 Андрей Прыкин

Содержание:

1.      Что такое AMQP-протокол?

2.      Подключение к серверу в системе программы 1С: Шина    

   

1.      Что такое AMQP-протокол?


AMQP-протокол (расширенный протокол очереди сообщений) – это прикладной и открытый протокол, который способствует обмену сообщениями между различными компонентами системы, он отвечает за маршрутизацию сообщений и производит распределение потоков информации.


Для отправки и получения сообщений, необходимо осуществить подключение внешних систем к серверу системы 1С: Шина при помощи AMQP протокола. Это можно выполнить через узлы процесса, которые осуществляют интеграцию и имеют вид «Канал1СИсточник» и «Канал1СНазначение». Чтобы узнать каким будет порт брокера на сервере 1С: Шина, а также каким будет наименование очереди, нужно обратиться к сервису HTTP и описанию системы 1С: Шина.


Замечание: При отправке сообщений можно избрать список тех баз данных, в которые будет направлено данное сообщение. Чтобы это выполнить, нужно для заголовка сообщения AMQP, его значения, которое называется «RecipientCode» прописать строку, в которой будут обозначены кодировки из справочника с базами данных, эти кодировки нужно разделять запятой. Если это не выполнить, то система произведёт отправку сообщения во все базы, которые в ней обозначены.    


2.      Подключение к серверу в системе программы 1С: Шина


Важно понимать, что при подключении к серверу, необходимо провести процедуру по аутентификации для клиентского приложения 1С. Чтобы это выполнить, отправляем запрос для получения билета (token) аутентификации в сервер с таким адресом:



Здесь,  - это имя хоста и порт, определенные в конфигурационном файле «server.yaml».


Формат запроса в программном коде системы будет таким, как демонстрируется ниже:



В виде  и  нужно выбрать идентификатор и секрет клиента, полученные при создании информационных систем в приложении 1С: Шина, для этого, надо открыть «Приложение», перейти на вкладку «Инфосистемы» и кликнуть по «Выдать ключ API».


Для этого, код программы будет следующим:



Для «URL» код будет таким:



А для «Python» код будет таким, как на примере ниже:



Если билет был благополучно получен, то у нас отобразится такой ответ, который будет иметь формат JSON:



Этот билет необходимо задействовать во время подключения к брокеру от сервера системы 1С: Шина, а также при вызове сервисов HTTP нашей системы, при помощи AMQP протокола таким образом:


• Ели требуется осуществить подключение к брокеру сервера системы 1С: Шина, то данный билет нужно прописать, как пароль и имя данного подключения;


• Если требуется обратиться к HTTP сервисам системы 1С: Шина, то данный билет нужно прописать для заголовка «Authorization» в таком виде:



Действие билета длится один час. Это значит, что при необходимости произвести более одного вызова – можно использовать один и тот же билет, не прибегая к повторному использованию менеджера по аутентификации.


В случае, если билет уже был просрочен – появится ответ, который будет содержать код ошибки «401». Тогда нужно будет заново запрашивать билет.


В данной статье был рассмотрен AMQP-протокол и его взаимодействие с конфигурацией системы 1С: Шина. А именно, было представлено, как, с помощью этого протокола, получать и отправлять сообщения в нашей системе и как правильно настроить эту процедуру.

 

Специалист компании "Кодерлайн"

 Андрей Прыкин

Обсудить статью в Telegram Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.