У меня есть приложение. net core 3.1, и я использую MySql с этим. Для подключения к MySql я использую Pomelo.EntityFrameworkCore. MySql nuget.
Основное приложение My. net развернуто как docker контейнер в AWS ECS, и я использую Aurora MySql RDS для хранения данных. Я предоставил «Публично доступный» доступ к Aurora MySql, и я могу подключиться к БД, используя MySql верстак, а также с моим основным приложением. net, используя localhost. Но когда я развертываю приложение и пытаюсь выполнить какое-либо действие с БД, оно начинает выдавать исключение:
Возникло исключение, которое, вероятно, связано с временным сбоем. Рассмотрите возможность включения устойчивости к временным ошибкам, добавив функцию EnableRetryOnFailure () к вызову «Использовать MySql».
Затем я добавил шаблон повторения, подобный этому:
services.AddDbContextPool<DataContext>(options =>
options.UseMySql(Configuration.GetConnectionString("DefaultConnection"), builder =>
{
builder.EnableRetryOnFailure(5, TimeSpan.FromSeconds(5), null);
}
);
и моя строка подключения выглядит примерно так:
"DefaultConnection": "Server=db-cluster-1-instance-1.cqb2fsjwx78p.us-east-2.rds.amazonaws.com;Database=dbName;User ID=admin;Password=password;port=3306"
После добавления шаблона повтора. Я получаю эту ошибку:
"Превышено максимальное количество повторных попыток (5) при выполнении операций с базой данных с помощью MySqlRetringExecutionStrategy '. См. Внутреннее исключение для самого последнего сбоя."
Так что я подозреваю, это что-то еще. Что я здесь не так делаю? Или это может быть что-то не так на aws стороне