0

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

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 进行健康检查吗?

4

1 回答 1

0

如果“健康检查”是指检查给定 DynamoDB 终端节点的工作更正,最快和最简单的方法是向终端节点上的“/”发送 HTTP 或 HTTPS 请求。响应是一个简单的“健康”消息:

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

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

于 2020-03-04T08:23:04.180 回答