У меня есть служба, которую я использую maven в качестве зависимости в некоторых других моих проектах. В проекте зависимостей я создаю динамо-клиент базы данных. Код ниже показывает, что я делаю, когда запускаю этот проект локально, используя локальный стек и жестко закодированный значения.
@Bean
public AmazonDynamoDB getAmazonDynamoDB() {
return AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration("http://localhost:4569", "us-east-1"))
.build();
}
Обычно при развертывании в нашей среде разработки я могу полностью исключить конфигурацию конечной точки, поскольку приложение получит доступ к AWS CLI, который указывает на среду разработки, то же самое, если я ушел .withEndpointConfiguration
полностью моя локальная система попыталась бы создать клиента там, где настроен мой локальный AWS CLI.
Мне нужен код, который будет работать как локально, так и развернут в dev. Так что для параметров конфигурации конечной точки есть хороший способ, которым я могу сделать это, не говоря: if local endpointconfig = localhost else - duplicate code without any endpoint configuration
Было бы неплохо также не сохранять URL-адреса конечных точек в файле свойств с профилями пружин, поскольку мне не нужно это делать, если я игнорирование локального развертывания.