Добавить приложение Кинетика в ChicagoBoss
Я хочу добавить Kinetic в мое приложение для босса в Чикаго, я добавил кинетическую библиотеку в каталог deps в моем приложении для босса в Чикаго. Когда я запускаю оболочку erlang из кинетической директории, в корне кинетической директории появляется файл development.config, который выглядит следующим образом:
[{kinetic,
[{args, [
% All of these values are optional
% kinetic will get all of the context from the instance
{region, "us-east-1"},
{aws_access_key_id, "AKAAAAAABABABA"},
{aws_secret_access_key, "3/Fx9987sxc352728181892838bhbjkd"},
{iam_role, "kinetic"},
{lhttpc_opts, [{max_connections, 5000}]}
]}]
}].
когда я запускаю приложение chicago boss и запускаю кинетическую команду, я получаю ошибку недопустимых учетных данных, поэтому кажется, что кинетическая библиотека загружена правильно, но не константы для моих ключей aws... Есть идеи, как это сделать в chicago boss?
Спасибо!
1 ответ
Решение
Просто вставьте свой кортеж {kinetic, [...]}
от development.config
в boss.config
который содержит список конфигураций для ваших приложений Erlang.
Более общие сведения о файлах конфигурации
В каждом приложении, которое зависит от конфигурации, мы можем увидеть код application:get_env(App, Key)
или же application:get_env(App, Key, SomeDefault)
, Это на самом деле призыв к application_controller
который кратко управляет загрузкой / выгрузкой / запуском / остановкой приложения и хранит информацию о нем. Вы можете проверить, сколько он знает с io:format("~n~p~n",[ets:tab2list(ac_tab)]).
Они в основном взяты из .app
файлы в ebin/
каталог, который в основном генерируется арматурой из app.src
в src/
во время компиляции.
Самый интересный ключ для нас в .app.src
является env
которая должна содержать конфигурацию по умолчанию для приложения, которое сначала будет загружено, а затем некоторые из этих значений будут переопределены конфигурацией вашей системы, которая сейчас boss.config
,
Когда вы играли с kinetic
в его среде разработки вы начинали его erl -pa ebin -pa deps/*/ebin -s inets -s crypto -s ssl -s lhttpc -config development -s kinetic
с -config
вы передали системную конфигурацию и переопределили значения среды по умолчанию, которые в этом случае не указаны, и значения по умолчанию разрешаются после запуска приложения в kinetic_config.erl
но посмотри на lager.app.src
и сравнить его с одним в вашем boss.config
, Теперь вы видите, как это настроить. Начнем с раскраски бревен;)
Из официальной документации: Настройка приложения и конфигурации