#c# #aws-lambda #health-check
#c# #aws-lambda #проверка работоспособности
Вопрос:
У меня есть код в aws lambda, который запускается шлюзом api.
Я реализовал проверки работоспособности следующим образом: (.net core 3.1)
В startup.cs -> ConfigureServices
services.AddHealthChecks()
.AddNpgSql("connection", name: "DB name")
.AddApiHealthCheck("Api1", "apipath/version")
.AddApiHealthCheck("Api2", "apipath2/version")
.AddSqsCheck("sqs", "sqspath");
services.AddHealthChecksUI();
.AddInMemoryStorage();
В startup.cs -> Настроить
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapHealthChecks("healthz", new HealthCheckOptions
{
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
});
endpoints.MapHealthChecksUI();
});
Файл appsettings.json включает:
"HealthChecksUI": {
"HealthChecks": [
{
"Name": "Http and UI on single project",
"Uri": "/healthz"
}
],
"Webhooks": [],
"EvaluationTimeinSeconds": 300,
"MinimumSecondsBetweenFailureNotifications": 60
}
Конфигурация считывается из ssm на aws, а не из файла appsettings.json
После развертывания лямбды я пытаюсь https://apigateway.url/beta/healthchecks-ui в таблице есть одна строка с надписью «Ссылка на объект не установлена для экземпляра объекта».
В журналах я обнаружил эту ошибку
System.NullReferenceException: Object reference not set to an instance of an object.n at
HealthChecks.UI.Core.ServerAddressesService.AbsoluteUriFromRelative(String relativeUrl)
(локально все работает так, как ожидалось)
Пожалуйста, посоветуйте
Спасибо