本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理表
本节介绍如何在 Amazon QLDB 中使用 DROP TABLE
和 UNDROP TABLE
语句管理表。它还描述了如何在创建表时对其标记。您可以创建的活动表数量和表总数的限额在Amazon QLDB 资源中的限额和限制中定义。
创建时对表格进行标记
注意
只有 STANDARD
权限模式分类账支持在创建时对表格进行标记。
您可以标记您的资源。要管理现有表标签,请使用AWS Management Console或 API 操作TagResource
、UntagResource
、和ListTagsForResource
。有关更多信息,请参阅为 Amazon QLDB 资源贴标签。
您还可以在创建表时使用 QLDB 控制台或在 CREATE TABLE
PartiQL 语句中指定表标签来定义表标签。下面的示例创建了一个名为 Vehicle
的表,带有标记 environment=production
。
CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)
通过在创建资源时对其进行标记,无需在创建资源后运行自定义标记脚本。标记表后,您可根据这些标签来控制对表的访问。例如:您只能向具有特定标签的表授予完全访问权限。有关 JSON 策略示例,请参阅基于表格标签对所有操作的完全访问权限。
删除表格
要删除表,请使用基本 DROP TABLE 语句。当你在 QLDB 中删除表格时,只是将其停用。
例如,以下语句使VehicleRegistration
表处于停用状态。
DROP TABLE VehicleRegistration
DROP TABLE
语句返回系统分配的表的 ID。状态VehicleRegistration
应该INACTIVE
在系统目录表 information_schema.user _tables 中。
SELECT status FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
查询非活动表历史记录
除了表名之外,您还可以使用表 ID 作为第一个输入参数查询QLDB历史记录函数 。必须使用表 ID 查询非活动表的历史记录。停用表后,您将无法再使用表名查询历史记录。
首先,通过查询系统目录表查找表 ID。例如,以下查询将返回 VehicleRegistration
表的 tableId
。
SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
然后,您可使用此 ID 从查询修订历史记录中运行相同的历史记录查询。以下是从表 ID5PLf9SXwndd63lPaSIa0O6
中查询文档 IDADR2Ll1fGsU4Jr4EqTdnQF
历史记录的示例。表 ID 为字符串文本值,必须括至单引号内。
--replace both the table and document IDs with your values SELECT * FROM history('5PLf9SXwndd63lPaSIa0O6', `2000T`, `2019-06-05T23:59:59Z`) AS h WHERE h.metadata.id = 'ADR2Ll1fGsU4Jr4EqTdnQF'
重新激活表格
在 QLDB 中停用表后,可以使用取消删除表语句将其重新激活。
首先,从information_schema.user_tables
中找到表 ID。例如,以下查询将返回 VehicleRegistration
表的 tableId
。状态应为 INACTIVE
。
SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
然后使用此 ID 重新激活表。以下是取消表 ID5PLf9SXwndd63lPaSIa0O6
的示例。此时,表 ID 是用双引号括起的唯一标识符。
UNDROP TABLE "5PLf9SXwndd63lPaSIa0O6"
现在的VehicleRegistration
状态应该是ACTIVE
。
若要了解如何创建、描述和删除索引,请继续 管理索引。