Spring Cloud AWS - RDS

Spring Cloud AWS - RDS

Dans lesprevious article, nous nous sommes concentrés sur EC2; maintenant, passons au service de base de données relationnelle.

1. Prise en charge RDS

1.1. Configuration simple

Spring Cloud AWS can automatically create a DataSource just by specifying the RDS database identifier and the master password. Le nom d'utilisateur, le pilote JDBC et l'URL complète sont tous résolus par Spring.

Si un compte AWS a une instance RDS avec l'identifiant d'instance de base de données commespring-cloud-test-db ayant le mot de passe principalse3retpass, alors tout ce qui est nécessaire pour créer unDataSource est les deux lignes suivantes dansapplication.properties :

cloud.aws.rds.spring-cloud-test-db
cloud.aws.rds.spring-cloud-test-db.password=se3retpass

Trois autres propriétés peuvent être ajoutées si vous souhaitez utiliser des valeurs autres que la valeur par défaut RDS:

cloud.aws.rds.spring-cloud-test-db.username=testuser
cloud.aws.rds.spring-cloud-test-db.readReplicaSupport=true
cloud.aws.rds.spring-cloud-test-db.databaseName=test

1.2. Source de données personnalisée

Dans une application sans Spring Boot ou dans les cas où des configurations personnalisées sont requises,we can also create the DataSource using the Java-based configuration:

@Configuration
@EnableRdsInstance(
  dbInstanceIdentifier = "spring-cloud-test-db",
  password = "se3retpass")
public class SpringRDSSupport {

    @Bean
    public RdsInstanceConfigurer instanceConfigurer() {
        return () -> {
            TomcatJdbcDataSourceFactory dataSourceFactory
             = new TomcatJdbcDataSourceFactory();
            dataSourceFactory.setInitialSize(10);
            dataSourceFactory.setValidationQuery("SELECT 1");
            return dataSourceFactory;
        };
    }
}

Notez également que nous devons ajouter la dépendance de pilote JDBC appropriée.

2. Conclusion

Dans cet article, nous avons examiné différentes manières d'accéder au service AWS RDS; dans les prochaines etfinal article of the series, nous examinerons la prise en charge d'AWS Messaging.

Comme d'habitude, les exemples sont disponiblesover on GitHub.