Проверка работоспособности Dynamo DB в JAVA

Я пытался проверить работоспособность AWS DynamoDB, используя Lambda fn в java, используя действие dynamodb: ListTables. Однако из-за ограничений существующей роли я получаю AccessDeniedException. Я даже пытался перечислить конкретное имя таблицы следующим образом:

ListTablesRequest request = new ListTablesRequest().withLimit(10).withExclusiveStartTableName("<existing table name>");

Это вернулось

INFO: List tables request {ExclusiveStartTableName:<existing table name> ,Limit: 10}

Также было бы полезно указать шаблон startWith со ссылкой на параметр List Tables. Но кроме ListTables есть ли другой способ проверить работоспособность DDB?


person varsha Das    schedule 04.03.2020    source источник
comment
Что вы имеете в виду под a health check of AWS DynamoDB?   -  person Marcin    schedule 04.03.2020
comment
Это означает, что нам нужно проверить, устанавливается ли работоспособное соединение со службой DDB.   -  person varsha Das    schedule 04.03.2020


Ответы (1)


Если под «проверкой работоспособности» вы имеете в виду проверку того, что у вас есть работающее исправление с данной конечной точкой DynamoDB, самый быстрый и простой способ — отправить запрос HTTP или HTTPS на «/» на конечной точке. Ответ представляет собой простое «здоровое» сообщение:

$ curl https://dynamodb.us-west-2.amazonaws.com/
healthy: dynamodb.us-west-2.amazonaws.com

К счастью или к сожалению, такая проверка работоспособности не требует никакой аутентификации или авторизации (ролей). Это лучше, потому что это быстрее, проще и потому что вы сказали, что у вас проблемы с авторизацией. Но по той же причине это еще хуже, потому что не проверяет вашу авторизацию, поэтому вполне возможно, что ваша проверка работоспособности будет успешной, а фактический запрос - нет, потому что у вас нет нужных разрешений.

person Nadav Har'El    schedule 04.03.2020
comment
Как мне справиться с этим через код? Является ли вызов GET для этого URL (dynamodb.us-west-2.amazonaws.com) рендеринга 200 OK достаточно, чтобы сделать вывод о том, что соединение с DynamoDB работает? - person varsha Das; 04.03.2020
comment
Да, запрос GET (вместо обычного запроса POST, отправляемого в DynamoDB). ‎Этот конкретный URL-адрес относится к географическому региону us-west-2 (Орегон), замените его фактической географической конечной точкой, которую вы используете для реальных запросов DynamoDB. Кроме того, лучше проверить, помимо 200 ОК, что тело начинается со слова здоровый:. В противном случае даже google.com будет выглядеть исправной конечной точкой DynamoDB только потому, что она отвечает на HTTP-запрос: -) - person Nadav Har'El; 04.03.2020