读取位于scala中的s3中的属性文件

时间:2016-10-19 13:01:12

标签: scala amazon-s3

我想阅读位于AWS s3中的.properties文件,并使用scala应用程序中的属性。

如果有任何API可以解决此问题,请告知我们。

1 个答案:

答案 0 :(得分:4)

您可以这样做:

import com.amazonaws.auth.DefaultAWSCredentialsProviderChain
import com.amazonaws.services.s3.model.S3Object
import com.amazonaws.services.s3.{AmazonS3Client, AmazonS3URI}
import scala.io.{BufferedSource, Source}

val credentialsProvider = new DefaultAWSCredentialsProviderChain()
val s3Client = new AmazonS3Client(credentialsProvider)
val uri: AmazonS3URI = new AmazonS3URI(filePath)
val s3Object: S3Object = s3Client.getObject(uri.getBucket, uri.getKey)

val source: BufferedSource = Source.fromInputStream(s3Object.getObjectContent)
try {
  source.mkString
} finally {
  source.close()
}

获得源后,您可以从中做任何事情。如果它遵循.hocon文件格式或根据文件的格式进行解析,则使用TypeSafe Config解析它。

如果它遵循.hocon表示法,你可以像

那样解析它
import com.typesafe.config.{Config, ConfigFactory}
val rawConfig: Config = ConfigFactory.parseString(contents)