Scala から Parameter Store のデータにアクセスする
こんにちは、 @kz_morita です。
Scala から AWS の パラメータストアのデータを読むために実装したのでメモです。
前提 Scala から AWS のリソースにアクセスするために aws-sdk を使用します。build.sbt に以下のように依存を追加します。
libraryDependencies ++= Seq( "software.amazon.awssdk" % "ssm" % "2.17.196" ) また、Scala を ECS などで動かす場合には、SSM Parameter Store にアクセスできる IAM Policy を付与する必要があるので事前に追加しておきます。
以下のような Policy が必要となります。
{ "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": [ "arn:aws:ssm:{REGION}:{ACCOUNT_ID}:parameter:/example/parameter" ] } 実装 awssdk に、SSMClient があるのでそちらを使います。
SsmClient には同期的なバージョンと、非同期用のバージョンの2つがあります。
SsmClient SsmAsyncClient Scala で Future を使って非同期処理をするのであれば、後者の SsmAsyncClient を使用します。
両方の Client には、builder が用意されているので、それを利用します。