如何与Slick建立Redshift连接?

Xav*_*hot 2 scala slick amazon-redshift

我想建立一个上的连接Amazon Redshift从实例ScalaSlick.

哪个驱动程序我应该使用和如何将它设置与sbtSlick

Xav*_*hot 5

我们可以将Amazon的Redshift驱动程序用于Java并将其包含在内build.sbt(请参阅当前版本的发行说明):

resolvers ++= Seq(
  "Redsfhit" at "http://redshift-maven-repository.s3-website-us-east-1.amazonaws.com/release"
)

libraryDependencies += "com.amazon.redshift" % "redshift-jdbc42" % "1.2.10.1009"
Run Code Online (Sandbox Code Playgroud)

我们还包括Slick依赖项:

libraryDependencies ++= Seq(
  "com.typesafe.slick" %% "slick"          % "3.2.3",
  "org.slf4j"          %  "slf4j-nop"      % "1.6.4",
  "com.typesafe.slick" %% "slick-hikaricp" % "3.2.3"
)
Run Code Online (Sandbox Code Playgroud)

配置连接的Slick一种方法是使用a typesafe config.让我们创建一个application.confsrc/main/resources/你的Redhsift设置:

my_redshift {
  url = "jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev"
  user = my_user
  password = my_password
  driver = com.amazon.redshift.jdbc.Driver
  connectionPool = disabled
  keepAliveConnection = true
}
Run Code Online (Sandbox Code Playgroud)

我们最终可以从Scala中加载此配置(my_redshift是您在typesafe配置中选择的根):

import slick.jdbc.PostgresProfile.api._

val db: Database = Database.forConfig("my_redshift")
Run Code Online (Sandbox Code Playgroud)