Skip to main content

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

esb1c_app-0.1.3.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

esb1c_app-0.1.3-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

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

Hashes for esb1c_app-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1ee755f4e31de77f135c248c5cec2ea9a518ec39e3e2a70850b33d8f245beee7
MD5 d3ef9616f80913fe4cea1b0e8ed9b17e
BLAKE2b-256 a32deb06c23a95f7fc5df418f836f7058578762982d889783880c735af0845dc

See more details on using hashes here.

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

Hashes for esb1c_app-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9c6113f63818ab232b54b087460293fff7e949d62a2d175dc9d1bbc2fda7b27a
MD5 4ac609d9ffb0cdd2c6e1b9200beaaa4b
BLAKE2b-256 9dd76df59f08c357cb31fa0ffdbb6170b65a997ceb5f18762c69d3918fe77350

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page