клиентская реализация ricloud-py
Клиент ricloud-py является простой реализацией интерфейса API ricloud v3 . Он также включает в себя несколько примеров реализации распространенных сценариев использования и некоторые базовые реализации извлечения данных из хранилищ сторонних производителей (AWS S3 и Google Cloud Storage).
Монтаж
Самый простой способ получить клиент - это установить его из PyPi .
pip install ricloud==3.0.0
Вы также можете получить код из репозитория GitHub .
конфигурация
key_token
требуется для аутентификации в API. Если вы уже являетесь клиентом, обратитесь в службу поддержки предприятия, чтобы получить пробный ключ для API ricloud v3 .
ricloud-py можно настроить двумя способами:
- С помощью атрибута
token
в импортированном модулеricloud
.
import ricloud ricloud.token = '<your key_token>'
- Создайте файл
.ricloud.ini
в своем домашнем каталоге со следующим содержимым.
[api] token = <you key_token>
См. .ricloud.ini
файл .ricloud.ini
для более подробной информации.
использование
Клиент предоставляет класс для каждого ресурса API и набор методов для взаимодействия с ними.
>>> import ricloud >>> org = ricloud.Organisation.retrieve() >>> print(org.name) My Organisation >>> org.update(name='Changed Organisation') >>> print(org.name) Changed Organisation
Примеры реализации
Клиент включает примеры реализаций для ряда общих взаимодействий.
К ним можно получить доступ через команду samples
ICloud
Пример реализации iCloud предлагает быстрый способ получения данных из учетной записи iCloud через командную строку.
Переинкубировать реле
В примере службы Reincubate Relay реализован набор команд, необходимых для создания сеанса, настройки подписки и запуска опросов вручную.
Конечная точка Webhook
Клиент включает в себя простую реализацию конечной точки webhook, которая прослушивает входящие уведомления о событиях API и выводит информацию на консоль.
Рекомендуется использовать утилиту, такую как ngrok, чтобы безопасно выставить локальную конечную точку в Интернет. По умолчанию конечная точка webhook связана с портом 8080 на вашем компьютере.
ngrok http -bind-tls=true 8080
Вы можете увидеть адрес вашей публично доступной конечной точки ngrok в строке Forwarding
, например, https://abcd1234.ngrok.io
.
Затем вы можете запустить слушатель, выполнив команду ricloud event listen
. Если ваш клиент настроен правильно, он автоматически создаст конфигурацию webhook, используя URL-адрес, указанный в команде, и установит его как конфигурацию webhook по умолчанию для используемого ключа.
ricloud event listen --webhook-url https://abcd1234.ngrok.io
.ricloud.ini
файл .ricloud.ini
Раздел: api
token
Маркер используется для аутентификации на конечных точках API.
url
Базовый URL для API. По умолчанию: https://ricloud-api.reincubate.com
.
max_retries
Сколько раз повторять запрос в случае сбоя из-за ошибки сервера или соединения. По умолчанию: 3
await_for
Добавляет заголовок Ricloud-Await
с указанным значением для включения в механизм ответа await . По умолчанию: 0
Раздел: webhooks
secret
Секрет конфигурации webhook для использования при проверке полезных нагрузок уведомлений о входящих событиях. Это устанавливается автоматически при использовании параметра --webhook-url
для команды ricloud event listen
.
delta
Разница разрешалась между тем, когда событие было отправлено и когда оно было получено, в секундах. По умолчанию: 600
Раздел: logging
log_level
Раздел: samples
output_directory
Каталог вывода по умолчанию для любых результатов, загружаемых как часть примера сценария. Если путь к каталогу является относительным, он будет создан относительно текущего рабочего каталога.
user_identifier
Клиент создаст ресурс пользователя при выполнении примеров сценариев. Значением по умолчанию для идентификатора этого пользователя является ricloud-py
, но его можно легко настроить с помощью этой опции.
Это может быть полезно, например, для различения использования между разными разработчиками в одной организации.
[api] token = <your key_token> url = https://ricloud-api.reincubate.com max_retries = 1 [logging] log_directory = logs log_level = WARNING [samples] output_directory = output user_identifier = ricloud-py