管理資料表 - Amazon Quantum Ledger Database (Amazon QLDB)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

管理資料表

本節說明如何使用 Amazon QLDB 中的DROP TABLEUNDROP TABLE陳述式來管理資料表。它也會說明如何在建立表格時標記資料表。您可以建立的使用中資料表和總表格數量的配額定義在中亞馬遜 QLDB 中的配額和限制

建立時標記資料表

注意

目前僅在STANDARD權限模式下,分類帳支援在建立時標記表格。

您可以標記資料表資源。若要管理現有資料表的標籤,請使用AWS Management Console或 API 作業TagResourceUntagResource、和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在系統目錄表格資訊 _schema.user_table 中。

SELECT status FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

查詢非作用中表格的歷史記錄

除了資料表名稱之外,您也可以歷史功能使用資料表 ID 做為第一個輸入引數來查詢 QLDB。您必須使用資料表 ID 來查詢非使用中資料表的記錄。停用資料表之後,您就無法再使用資料表名稱查詢其歷史記錄。

首先,透過查詢系統目錄資料表來尋找資料表 ID。例如,下列查詢會傳回tableIdVehicleRegistration料表的。

SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

然後,您可以使用此 ID 從中運行相同的歷史查詢查詢修訂記錄。下列範例會ADR2Ll1fGsU4Jr4EqTdnQF從資料表 ID 查詢文件 ID 的歷程記錄5PLf9SXwndd63lPaSIa0O6。資料表 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 中的資料表之後,您可以使用取消刪除資料表陳述式重新啟用它。

首先,從中找到表 IDinformation_schema.user_tables。例如,下列查詢會傳回tableIdVehicleRegistration料表的。狀態應該是INACTIVE

SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

然後,使用此 ID 重新啟用表格。下列是取消刪除資料表 ID 的範例5PLf9SXwndd63lPaSIa0O6。在這種情況下,資料表 ID 是您用雙引號括住的唯一識別碼。

UNDROP TABLE "5PLf9SXwndd63lPaSIa0O6"

現在的狀態VehicleRegistration應該是ACTIVE

若要瞭解如何建立、描述和卸除索引,請繼續執行管理索引