CloudControl – це хмарна платформа, дуже схожа на Heroku. Створення надбудови cloudControl дуже схоже на створення надбудови Heroku, але є деякі відмінності. Ця стаття пояснює ці відмінності.
вступ
Надбудова GroupDocs для cloudControl — це веб-інструмент, який можна встановити в будь-якій веб-програмі, щоб забезпечити функціональність GroupDocs:
- Створіть нового користувача GroupDocs із безкоштовним планом і отримайте ідентифікатор користувача та закритий ключ для цього користувача. Це робиться автоматично під час встановлення надбудови.
- Користувач може змінити план оплати за допомогою функції зміни плану надбудови.
- Доступ до будь-яких методів з GroupDocs API за допомогою ідентифікатора клієнта та закритого ключа (який можна отримати з надбудови). Ми створили цей приклад, який показує, як використовувати надбудову та GroupDocs Python SDK для деяких основних дій.
Вимоги
- Інструмент Kensa
- інструмент cloudControl
- Python 2.7
- додаток cloudControl
Створення надбудови
Процес створення надбудови cloudControl такий самий, як і для створення надбудови Heroku, але, як я вже говорив раніше, з кількома відмінностями. Ми не будемо вдаватися в те, як створити доповнення, тому що Heroku має багато документації для цього, і ви вирішуєте, як це створити. Я лише покажу, в чому саме відмінності. Припустімо, що ми вже маємо класний додаток Heroku і хочемо перебудувати його для cloudControl:
- Встановіть інструменти Kensa і cloudControl. Вони допомагають керувати додатками та додатками CloudControl. Дізнайтеся, як інсталювати інструмент cloudControl.
- Після встановлення інструментів змініть файл addon-manifest.json. Тут міститься вся основна інформація для встановлення надбудови, наприклад, які змінні середовища буде створено та звідки завантажувати та встановлювати файли надбудови.
- Перш ніж завантажити відредагований файл addon-manifest.json, установіть змінну середовища ADDONS\URL=https://api.cloudcontrol.com:.
- Вкажіть робочий сервер. Heroku вимагав від вас вказати виробничий сервер, а потім створив URL-адресу, яка використовується для надання вашого доповнення, додавши до нього “/heroku/resources”. Тепер укажіть хеш замість рядка та змініть “/heroku/resources” на “/cloudcontrol/resources”.
- Додайте “sso\salt”:“PASSWORD” і “production”: {“base\url”:“https://your.add-on.com/cloudcontrol/resources", “sso\url”:“https:/ /your.add-on.com/cloudcontrol/resources”}.
- Змініть “heroku\id” на “cloudcontrol\id” у файлах надбудови.
- Коли зміни буде внесено, перевірте додаток за допомогою тестів Kensa, запустивши його в консолі: kensa test provision і kensa deprovision test. [caption id=“attachment\3488” align=“alignnone” width=“600” caption=“Тести Kensa”]
- Якщо тести пройдуть, надішліть addon-manifest.json у cloudControl за допомогою kensa push -f addon-manifest.json. [caption id=“attachment\3489” align=“alignnone” width=“600” caption=“Kensa push”]
- Установіть надбудову до програми cloudControl: cctrlapp YOUR\APP\NAME addon.add YOUR\ADDON\NAME.PLANE
Тепер ми опублікували надбудову cloudControl і встановили її. Все йде нормально. Як ми отримуємо змінні середовища, які створює надбудова? Давай дізнаємось.
Як отримати змінні середовища
У Heroku це легко. Наприклад, у Python ми можемо зробити це за допомогою рядка os.environ[‘ІМ’Я ЗМІННОЇ’]. Якщо ви спробуєте це в cloudControl, ви отримаєте лише кілька основних властивостей Python, а не додаткові змінні. У cloudControl усі змінні середовища, створені надбудовою, записуються у файл json, який ми можемо отримати за допомогою CRED\FILE. Це назва системної властивості, яка містить шлях до файлу JSON зі змінними середовища. Щоб отримати наші дані, нам потрібно лише прочитати цей файл JSON і декодувати рядок JSON. У Python ми можемо зробити це за допомогою цього коду:
credentialsFile = os.getenv('CRED\_FILE')
credentials = open(credentialsFile)
data = json.load(credentials)
credentials.close()
clientId = data\['GROUPDOCS'\]\['GROUPDOCS\_CID'\]
privateKey = data\['GROUPDOCS'\]\['GROUPDOCS\_PKEY'\]
Таким чином ми отримуємо ідентифікатор клієнта та закритий ключ користувача надбудови GroupDocs. І це все. Тепер ви знаєте, яка різниця між додатками Heroku та cloudControl.