Я пытаюсь прочитать свой application.conf, который хранится в моем ведре s3. Я использовал Bufferedsource для чтения из s3, но когда я пытался использовать ConfigFactory.parseString(source.mkString).getConfig("conf")
, он не нашел там 'conf'. это мой исходный код:
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain
import com.amazonaws.services.s3.model.S3Object
import com.amazonaws.services.s3.{AmazonS3Client, AmazonS3ClientBuilder, AmazonS3URI}
import scala.collection.JavaConversions._
import scala.io.{BufferedSource, Source}
object Test {
def main(args: Array[String]): Unit = {
import com.amazonaws.auth.BasicAWSCredentials
val credentials = new BasicAWSCredentials("key", "secertkey")
// val credentialsProvider = new DefaultAWSCredentialsProviderChain()
val s3Client = new AmazonS3Client(credentials)
val uri: AmazonS3URI = new AmazonS3URI("s3://test-buck/conf/application.conf")
val s3Object: S3Object = s3Client.getObject(uri.getBucket, uri.getKey)
val source: BufferedSource = Source.fromInputStream(s3Object.getObjectContent)
try {
println(source.mkString)
import com.typesafe.config.{Config, ConfigFactory}
val rawConfig: Config = ConfigFactory.parseString(source.mkString)
val rootConfig = rawConfig.getConfig("conf")
println(rootConfig)
// println(rotConfig)
} finally {
source.close()
}
}
}
Конфигурация моего приложения выглядит, как показано ниже
conf {
source_data_list = ["OL", "SB","1CP"]
//some other value
OL {
filename = "receipts_delta_GBR_14_10_2017.csv"
sftp_conf {
hostname = "endpoint"
port = "22"
username = "ubuntu"
pem = "pemfile"
filetype = "csv"
delimiter = "|"
directory = "/home/ubuntu/data"
}
}
}
Не уверен, что я здесь делаю неправильно. Та же конфигурация приложения, если я поставьте на ресурс и попробуйте загрузить ConfigFactory.load("application.conf").getConfig("conf")
он работает как положено. Любая подсказка об этом поможет.
Исключение, которое я получил
Исключение в потоке «main» Исключение в потоке «main» com.typesafe.config.ConfigException $ Отсутствует: для ключа не найдены параметры конфигурации 'conf' в com.typesafe.config.impl.SimpleConfig.findKey (SimpleConfig. java: 124) в com.typesafe.config.impl.SimpleConfig.find (SimpleConfig. java: 145) в com.typesafe. config.impl.SimpleConfig.find (SimpleConfig. java: 159) в com.typesafe.config.impl.SimpleConfig.find (SimpleConfig. java: 164) в com.typesafe.config.impl.SimpleConfig.getObject ( SimpleConfig. java: 218) в com.typesafe.config.impl.SimpleConfig.getConfig (SimpleConfig. java: 224) в com.typesafe.config.impl.SimpleConfig.getConfig (SimpleConfig. java: 33) в com.dsm.utils.Test $ .main (Test. scala: 26) в com.dsm.utils.Test.main (Test. scala)