如何将值的数组作为env变量提供给typesafe / lightbend配置?

Ror*_*ory 5 scala typesafe typesafe-config

如何提供数组/值列表作为typesafe / lightbend配置的环境变量?

application.conf

default-buckets = [
      10,
      30,
      100,
      300,
      1000,
      3000,
      10000,
      30000,
      100000
    ]
default-buckets = [${?DEFAULT_BUCKETS}]
Run Code Online (Sandbox Code Playgroud)

因此,我想将这样的内容作为环境变量传递,以便能够覆盖默认值:

DEFAULT_BUCKETS=1000,3000
Run Code Online (Sandbox Code Playgroud)

但是,出现以下错误:

com.typesafe.config.ConfigException$WrongType: env variables: buckets.default-buckets has type list of STRING rather than list of NUMBER

这有可能不需要我的应用程序代码通过调用来处理split(',')吗?

air*_*dah 2

据我所知,没有简单的方法可以传递环境变量列表来覆盖conf值数组。

您必须像这样设置环境变量:

export DEFAULT_BUCKETS_1=1000
export DEFAULT_BUCKETS_2=3000
Run Code Online (Sandbox Code Playgroud)

然后将它们传递到conf文件中:

default-buckets = []
default-buckets.0 = ${?DEFAULT_BUCKETS_1}
default-buckets.1 = ${?DEFAULT_BUCKETS_2}
Run Code Online (Sandbox Code Playgroud)