Добавить приложение Кинетика в 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, Теперь вы видите, как это настроить. Начнем с раскраски бревен;)

Из официальной документации: Настройка приложения и конфигурации

Другие вопросы по тегам