2

私のアプリケーションはファイルをS3にアップロードしますが、テストモード(再生テスト)で実行しているときに別のバケットにアップロードしたいと思います。これに対する回避策はありますか?プレイで見た1.xにはアプリケーションIDと呼ばれる機能があります。しかし、2.0のドキュメントでは見つかりませんでした。

テストモードを実行している場合、playは「s3.bucket」ではなく「test.s3.bucket」を使用します。

application.conf

s3.bucket=prodbucket
test.s3.bucket=testbucket

編集:#kheraudの回答に加えて、アプリケーションは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 に答える