Connect-builder for 1C:ESB
Project description
esb1c-app
Клиентская библиотека для интеграции с 1C:ESB (1С:Шина), которая помогает получать метаданные каналов, их актуальные назначения и формировать AMQP-подключение для приложений, опубликованных в 1С:Шине.
Возможности
Applicationавтоматически получаетid_tokenпо протоколу OAuth 2.0 (client_credentials) и переиспользует его во всех запросах.- Загрузка метаданных каналов (
/sys/esb/metadata/channels) с разбором описаний и прав доступа. - Получение актуальных назначений каналов (
/sys/esb/runtime/channels) и определение активных каналов отправки/получения. - Формирование AMQP URL вида
amqp://<token>:<token>@<host>:<port>/applications/<application>на основе данных ESB.
Установка
pip install esb1c-app
Либо установите из исходников:
pip install .
Быстрый старт
import os
from esb1c import Application
application = Application(
url=os.environ["APPLICATION_URL"],
client_id=os.environ["CLIENT_ID"],
client_secret=os.environ["CLIENT_SECRET"],
)
print(application.id_token)
print(application.sender)
print(application.receiver)
print(application.amqp_url)
print("Исходящие каналы:")
for channel in application.channels.senders:
print(
channel.channel,
channel.process,
channel.destination,
channel.channel_description,
sep=" | ",
)
print("Входящие каналы:")
for channel in application.channels.receivers:
print(
channel.channel,
channel.process,
channel.destination,
channel.process_description,
sep=" | ",
)
Переменные окружения
APPLICATION_URL— полный URL видаhttp(s)://host(:port)/applications/<имя>для нужного приложения в 1C:ESB.CLIENT_IDиCLIENT_SECRET— учетные данные пользователя (информационной базы).
Если переменные окружения заданы - библиотека готова к использованию.
Тестирование
Установите зависимости для разработки:
pip install .[dev]
Запустите тесты:
pytest
По умолчанию запросы к API 1C:ESB подменяются моками. Чтобы прогнать тесты на реальном окружении, задайте переменные APPLICATION_URL, CLIENT_ID, CLIENT_SECRET - это дополнит тестовые наборы (или удалите/отключите фикстуру mock_requests).
Требования
- Python 3.9+
requests
Лицензия
Проект распространяется по лицензии MIT.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file esb1c_app-0.1.3.tar.gz.
File metadata
- Download URL: esb1c_app-0.1.3.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ee755f4e31de77f135c248c5cec2ea9a518ec39e3e2a70850b33d8f245beee7
|
|
| MD5 |
d3ef9616f80913fe4cea1b0e8ed9b17e
|
|
| BLAKE2b-256 |
a32deb06c23a95f7fc5df418f836f7058578762982d889783880c735af0845dc
|
File details
Details for the file esb1c_app-0.1.3-py3-none-any.whl.
File metadata
- Download URL: esb1c_app-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c6113f63818ab232b54b087460293fff7e949d62a2d175dc9d1bbc2fda7b27a
|
|
| MD5 |
4ac609d9ffb0cdd2c6e1b9200beaaa4b
|
|
| BLAKE2b-256 |
9dd76df59f08c357cb31fa0ffdbb6170b65a997ceb5f18762c69d3918fe77350
|