概要
Eclipse(ローカル環境)で開発しているSpringアプリケーションから、APIを用いてAWSのサービスに接続しようとした際に出てきたエラーへの対処法についてまとめます。
エラー内容
下記記事を参考にapplication.propertiesを記述してみたところ・・・
application.properties
# アクセスキー ID
cloud.aws.credentials.accessKey=${AWS_ACCESS_KEY_ID}
# シークレットアクセスキー
cloud.aws.credentials.secretKey=${AWS_SECRET_ACCESS_KEY}
# CloudFormationのスタック名を自動取得しない
cloud.aws.stack.auto=false
# リージョン名を自動取得しない
cloud.aws.region.auto=false
# リージョン名(例. ap-northeast-1)
cloud.aws.region.static=${AWS_REGION}
cloud.aws
から始まる記述がunknown property
であると警告が出ました。
開発環境は以下の通りで
- Windows 10
- Eclipse 2019
- Java 11
- Spring Boot 2.6.4
build.gradle
を以下のように記述していました。
build.gradle
dependencies {
...
implementation 'org.springframework.cloud:spring-cloud-starter-aws'
...
}
解決策
どうやらSpring Cloud AWSの最新版リリースに伴ってGradleの記述も変わっているようでした。ということでこちらを参考にbuild.gradle
の記述を下記のように見直しました。
build.gradle
//追記
ext {
set('awsSpringVersion', '2.3.3')
}
//'org.springframework.cloud'から'io.awspring.cloud'へ変更
dependencies {
...
implementation 'io.awspring.cloud:spring-cloud-starter-aws'
...
}
//追記
dependencyManagement {
imports {
mavenBom "io.awspring.cloud:spring-cloud-aws-dependencies:${awsSpringVersion}"
}
}
無事に警告が消えました!
まとめ
全体的にMavenでのエラー対処方法のほうが多く見つかるので、Gradleの情報ももっと増えてほしいなと感じました。また、org.springframework.cloud:spring-cloud-starter-aws
で検索ヒットする記事も多いので注意が必要です。やはり最新情報は英語での公式ドキュメントを確認したようがよいと実感しました。今回は以上です!