Erlang 将Kinetic添加到ChicagoBoss应用程序

Erlang 将Kinetic添加到ChicagoBoss应用程序,erlang,chicagoboss,amazon-kinesis,Erlang,Chicagoboss,Amazon Kinesis,我希望将Kinetic添加到我的芝加哥老板应用程序中,我已将Kinetic库添加到我的芝加哥老板应用程序中的deps目录中。当我从动能目录中运行erlang shell时,动能目录的根目录中有一个development.config,如下所示: [{kinetic, [{args, [ % All of these values are optional % kinetic will get all of the context from the inst

我希望将Kinetic添加到我的芝加哥老板应用程序中,我已将Kinetic库添加到我的芝加哥老板应用程序中的deps目录中。当我从动能目录中运行erlang shell时,动能目录的根目录中有一个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应用程序并运行kinetic命令时,我收到一个无效凭据错误,因此似乎kinetic库加载正确,但我的aws密钥的常量没有加载…知道如何在chicago boss中执行此操作吗

谢谢

解决方案 只需将元组从
development.config
粘贴到
boss.config
,其中包含erlang应用程序的配置列表

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

我们在
.app.src
中最感兴趣的键是
env
,它应该包含应用程序的默认配置,该应用程序将作为第一个加载,然后其中一些值将被您的系统配置覆盖,现在是
boss.config

当您在it的开发环境中玩
kinetic
时,您是通过
erl-pa ebin-pa deps/*/ebin-s inets-s crypto-s ssl-s lhttpc-config development-s kinetic
-config
来启动它的,您传递了系统配置,并覆盖了默认的环境值,在本例中没有指定这些值在中启动应用程序后,将解析默认值,但请查看并将其与
boss.config
中的默认值进行比较。现在,您将看到如何调整它。让我们从给原木着色开始;)


从官方文档:和

HeyŁukasz非常感谢您帮助我解决所有这些问题,我将元组粘贴到boss.config中,但仍然得到相同的{错误,缺少Ł凭据}响应。有什么方法可以调试吗?@BC00没问题,你能检查一下
ets:lookup(dynamic\u data,args)。
application:get\u all\u env(dynamic)。
?@BC00我想正确启动应用程序可能有问题。不要忘记在
src/your_boss.app.src
中的
motional
列表中添加
。检查它是否与
application:which\u applications()。workedits很奇怪,我得到了{error,missing_credentials},因为它一定加载了动态代码,对吗?我现在得到的错误是**异常错误:未定义的函数jiffy:encode/1在函数dynamic\u utils:encode/1(src/dynamic\u utils.erl,第42行)中,在调用dynamic:execute/3(src/dynamic.erl,第196行)时