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