JAVA 中的 Dynamo DB 健康检查

Dynamo DB Health Check in JAVA

我一直在尝试使用 dynamodb:ListTables 操作在 java 中使用 Lambda fn 对 AWS DynamoDB 进行健康检查。 但是,由于对现有角色的限制,我得到了 AccessDeniedException。 我什至试图列出一个特定的 table 名称,如下所示:

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

这返回了

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

如果我参考 List Tables 参数指定 startsWith 模式,这也会很有帮助。 但除了 ListTables 之外,还有其他方法可以对 DDB 进行健康检查吗?

如果 "health check" 你的意思是检查给定的 DynamoDB 端点是否有有效的更正,最快和最简单的方法是向端点上的“/”发送 HTTP 或 HTTPS 请求。响应是一条简单的 "healthy" 消息:

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

无论好坏,这种健康检查不需要任何身份验证或授权(角色)。它更好,因为它更快、更简单,而且因为你说你的授权有问题。但出于同样的原因,更糟糕的是它不检查你的授权,所以有可能你的健康检查会成功但实际请求不会 - 因为你没有正确的权限。