

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

# 非同步狀態和操作
<a name="views-api-usage-async-states"></a>

當您執行`glue:CreateTable`請求時，會開始非同步建立 Data Catalog 檢視。在下列各節中，本文件說明`glue:GetTable`回應中可用的 AWS Glue 檢視`Status`的 。為了簡潔起見，本節省略完整回應。

```
{
    "Table": {
        ...
        "Status": {
            ...
            "Action": "CREATE",
            "State": "QUEUED",
        }
    }
}
```

上述兩個屬性都代表重要的診斷資訊，指出非同步操作的狀態，以及可在此檢視上執行的動作。以下是這些屬性可以接受的可能值。

1. `Status.Action`

   1. CREATE

   1. UPDATE

1. `Status.State`

   1. QUEUED

   1. IN\_PROGRESS

   1. 成功

   1. 失敗

也請務必注意，Data Catalog 檢視上的某些更新不需要非同步操作。例如，可能想要更新資料表的 `Description` 屬性。由於這不需要任何非同步操作，因此產生的資料表中繼資料將沒有任何 `Status`，且屬性將為 `NULL`。

```
{
    "Table": {
        ...,
        "Description": "I changed this attribute!"
    }
}
```

接下來，本主題會探索上述狀態資訊如何影響可在 AWS Glue 檢視上執行的操作。

**glue:CreateTable**  
相較於任何 Glue 資料表的 `glue:CreateTable`函數，此 API 沒有任何變更。 `CreateTable` 可能針對尚未存在的任何資料表名稱呼叫 。

**glue:UpdateTable**  
此操作無法在具有下列狀態資訊的 AWS Glue 檢視上執行：

1. 動作 == CREATE 和狀態 == QUEUED

1. 動作 == CREATE 和狀態 == IN\_PROGRESS

1. 動作 == CREATE 和狀態 == 失敗

1. 動作 == UPDATE 和狀態 == QUEUED

1. 動作 == UPDATE 和狀態 == IN\_PROGRESS

總而言之，只有在 Data Catalog 檢視符合下列要求時，您才能更新它。

1. 第一次成功建立。

   1. 動作 == CREATE 和狀態 == 成功

1. 在非同步更新操作之後，它已達到結束狀態。

   1. 動作 == UPDATE 和狀態 == 成功

   1. 動作 == UPDATE 和狀態 == 失敗

1. 由於同步更新，它具有`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 檢視後，無論其狀態為何，您都可以查詢檢視。

**注意**  
本節中的所有資訊適用於所有資料表讀取 APIs`GetTables`，例如 `GetTable`、 和 `SearchTables`。