如何找到 DynamoDB 所有 table 匹配模式的名称?

How to find DynamoDB all table names that match a pattern?

我需要找到所有以给定字符串开头的 table 现有 DynamoDB 名称。

执行此操作的 best/recommended 方法是什么?

我需要这样做,例如找到所有名称以 "__Test__" 开头的 table,然后删除所有这些 table。

要以编程方式执行此操作,您必须按以下步骤执行。

  1. 调用ListTablesAPI
  2. 检查响应中的所有 TableNames
  3. 在名称与 "__Test__" 模式匹配的任何 table 上调用 DeleteTable
  4. 如果LastEvaluatedTableName is present in the response, repeat steps 1-3 setting the ExclusiveStartTableName分页

对于table状态调用DeleteTable也有一些要求。来自 documentation:

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

如果您只需要对几个 table 执行此操作而不是重复执行,您可以转到 AWS DynamoDB console 并(在选择正确的区域后)删除 table直接在 UI.