如何找到 DynamoDB 所有 table 匹配模式的名称?
How to find DynamoDB all table names that match a pattern?
我需要找到所有以给定字符串开头的 table 现有 DynamoDB 名称。
执行此操作的 best/recommended 方法是什么?
我需要这样做,例如找到所有名称以 "__Test__"
开头的 table,然后删除所有这些 table。
要以编程方式执行此操作,您必须按以下步骤执行。
- 调用
ListTables
API
- 检查响应中的所有 TableNames
- 在名称与
"__Test__"
模式匹配的任何 table 上调用 DeleteTable
- 如果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.
我需要找到所有以给定字符串开头的 table 现有 DynamoDB 名称。
执行此操作的 best/recommended 方法是什么?
我需要这样做,例如找到所有名称以 "__Test__"
开头的 table,然后删除所有这些 table。
要以编程方式执行此操作,您必须按以下步骤执行。
- 调用
ListTables
API - 检查响应中的所有 TableNames
- 在名称与
"__Test__"
模式匹配的任何 table 上调用DeleteTable
- 如果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 theACTIVE
state, you can delete it. If a table is in CREATING orUPDATING
states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in theDELETING
state, no error is returned.
如果您只需要对几个 table 执行此操作而不是重复执行,您可以转到 AWS DynamoDB console 并(在选择正确的区域后)删除 table直接在 UI.