0

我希望将 Kinetic 添加到我的芝加哥老板应用程序中,我已将动力学库添加到我的芝加哥老板应用程序中的 deps 目录中。当我从 kinetic 目录中运行 erlang shell 时,我在 kinetic 目录的根目录中有一个 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}]}
    ]}]
}].

当我启动芝加哥老板应用程序并运行动力学命令时,我收到一个无效的凭据错误,因此似乎动力学库已正确加载,但不是我的 aws 键的常量……知道如何在芝加哥老板中执行此操作吗?

谢谢!

4

1 回答 1

1

解决方案

只需将您的元组粘贴{kinetic, [...]}到其中包含您的 erlang 应用程序的配置列表。development.configboss.config

更多关于配置文件的通用信息

在依赖于配置的每个应用程序中,我们可以看到类似application:get_env(App, Key)或的代码application:get_env(App, Key, SomeDefault)。它实际上是调用application_controller它来简要管理应用程序加载/卸载/启动/停止并保留有关它的信息。io:format("~n~p~n",[ets:tab2list(ac_tab)]).您可以通过这些主要取自目录中的.app文件来检查它知道多少,这些文件ebin/主要是在编译期间由 rebar 从app.srcin生成的src/

对我们来说最有趣的关键.app.srcenv它应该包含应用程序的默认配置,它将首先加载,然后其中一些值将被您的系统配置覆盖,即 now 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. 现在你知道如何调整它了。让我们从着色日志开始;)

来自官方文档:Configuring an Application and config

于 2014-12-06T06:57:33.127 回答