本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
非同步狀態和操作
當您執行glue:CreateTable請求時,會開始非同步建立 Data Catalog 檢視。在下列各節中,本文件說明glue:GetTable回應中可用的 AWS Glue 檢視Status的 。為了簡潔起見,本節省略完整回應。
{ "Table": { ... "Status": { ... "Action": "CREATE", "State": "QUEUED", } } }
上述兩個屬性都代表重要的診斷資訊,指出非同步操作的狀態,以及可在此檢視上執行的動作。以下是這些屬性可以採用的可能值。
-
Status.Action-
CREATE
-
UPDATE
-
-
Status.State-
QUEUED
-
IN_PROGRESS
-
成功
-
失敗
-
也請務必注意,Data Catalog 檢視上的某些更新不需要非同步操作。例如,可能想要更新資料表的 Description 屬性。由於這不需要任何非同步操作,因此產生的資料表中繼資料將沒有任何 Status,且屬性將為 NULL。
{ "Table": { ..., "Description": "I changed this attribute!" } }
接下來,本主題會探索上述狀態資訊如何影響可在 AWS Glue 檢視上執行的操作。
glue:CreateTable
相較於任何 Glue 資料表的 glue:CreateTable函數,此 API 沒有任何變更。 CreateTable 可能針對尚未存在的任何資料表名稱呼叫 。
glue:UpdateTable
此操作無法在具有下列狀態資訊的 AWS Glue 檢視上執行:
-
動作 == CREATE 和狀態 == QUEUED
-
動作 == CREATE 和狀態 == IN_PROGRESS
-
動作 == CREATE 和狀態 == 失敗
-
動作 == UPDATE 和狀態 == QUEUED
-
動作 == UPDATE 和狀態 == IN_PROGRESS
總而言之,您只能在 Data Catalog 檢視符合下列要求時更新它。
-
第一次成功建立。
-
動作 == CREATE 和狀態 == 成功
-
-
其在非同步更新操作後已達到終端狀態。
-
動作 == UPDATE 和狀態 == 成功
-
動作 == UPDATE 和狀態 == 失敗
-
-
由於同步更新,它具有
NULL狀態屬性。
glue:DeleteTable
相較於任何 AWS Glue 資料表的 glue:DeleteTable 函數,此操作沒有任何變更。您可以刪除 Data Catalog 檢視,無論其狀態為何。
glue:GetTable
相較於任何 AWS Glue 資料表的 glue:GetTable 函數,此操作沒有任何變更。不過,在第一次成功建立 Data Catalog 檢視之前,您無法從分析引擎查詢 Data Catalog 檢視。 Action == CREATE and State == SUCCESS第一次成功建立 Data Catalog 檢視後,無論其狀態為何,您都可以查詢檢視。
注意
本節中的所有資訊適用於所有資料表讀取 APIsGetTables,例如 GetTable、 和 SearchTables。