2

我的应用程序会将文件上传到 S3,但我希望它在测试模式(播放测试)下运行时上传到另一个存储桶。有什么解决方法吗?我在 play 1.x 中看到了一个名为 application ids 的功能。但我在 2.0 文档下找不到它。

运行测试模式时,play 将使用 'test.s3.bucket' 而不是 's3.bucket'。

应用程序.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");
4

1 回答 1

1

您可以使用(未​​测试)访问运行模式:

import play.api.Play.current

val targetBukkett = if(play.api.Play.application.mode == "Dev") {
    test.s3.bucket
} else {
    s3.bucket
}
于 2012-06-29T08:43:34.607 回答