我的应用程序会将文件上传到S3,但我希望它在测试模式(播放测试)下运行时上传到另一个存储桶。这有什么解决方法吗?我在play 1.x中看到了一个名为application id的功能。但我无法在2.0文档中找到它。
运行测试模式时,play将使用'test.s3.bucket'而不是's3.bucket'。
application.conf
s3.bucket=prodbucket
test.s3.bucket=testbucket
编辑: 除了#kheraud回答,Application提供了isProd(),isTest()和isDev()。
String bucketName = (Play.application().isProd())
? Play.application().configuration().getString("s3.bucket")
: Play.application().configuration().getString("dev.s3.bucket");
答案 0 :(得分:1)
您可以使用(未测试)访问运行模式:
import play.api.Play.current
val targetBukkett = if(play.api.Play.application.mode == "Dev") {
test.s3.bucket
} else {
s3.bucket
}