

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

# AWS Glue Apache Iceberg 規格的 REST APIs
<a name="iceberg-rest-apis"></a>

本節包含 AWS Glue Iceberg REST 目錄和 AWS Glue 延伸 APIs的規格，以及使用這些 APIs時的考量事項。

對 AWS Glue Data Catalog 端點的 API 請求會使用 AWS Signature 第 4 版 (SigV4) 進行身分驗證。如需 [AWS API 請求的詳細資訊，請參閱簽章版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) 一節 AWS SigV4。

存取 AWS Glue 服務端點和 AWS Glue 中繼資料時，應用程式會擔任需要 IAM 動作的 IAM `glue:getCatalog` 角色。

可以使用 IAM、Lake Formation 或 Lake Formation 混合模式權限來管理對 Data Catalog 及其物件的存取。

Data Catalog 中的聯合目錄具有 Lake Formation 註冊的資料位置。Lake Formation 與 Data Catalog 搭配使用，可提供資料庫式許可，以管理使用者對 Data Catalog 物件的存取。

您可以使用 IAM AWS Lake Formation、 或 Lake Formation 混合模式許可來管理對預設 Data Catalog 及其物件的存取。

若要在 Lake Formation 受管物件中建立、插入或刪除資料，則必須為 IAM 使用者或角色設定特定許可。
+ CREATE\$1CATALOG – 需要建立目錄 
+ CREATE\$1DATABASE – 需要建立資料庫
+ CREATE\$1TABLE – 需要建立資料表
+ DELETE – 需要從資料表刪除資料
+ DESCRIBE – 需要讀取中繼資料 
+ DROP – 需要捨棄/刪除資料表或資料庫
+ INSERT – 當主體需要將資料插入資料表時需要
+ SELECT – 當主體需要從資料表中選取資料時需要

如需詳細資訊，請參閱《 AWS Lake Formation 開發人員指南》中的 [Lake Formation 許可參考](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html)。

# GetConfig
<a name="get-config"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | GetConfig | 
| 類型 |  Iceberg REST Catalog API  | 
| REST 路徑 |  GET /iceberg/v1/config  | 
| IAM 動作 |  glue:GetCatalog  | 
| Lake Formation 許可 | 不適用 | 
| CloudTrail 事件 |  glue:GetCatalog  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L67 | 

****考量和限制****
+ `warehouse` 查詢參數必須設定為 AWS Glue 目錄 ID。如果未設定，則會使用目前帳戶中的根目錄來傳回回應。如需詳細資訊，請參閱[字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters)。

# GetCatalog
<a name="get-catalog"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | GetCatalog | 
| 類型 |  AWS Glue 延伸 API  | 
| REST 路徑 |  GET/extensions/v1/catalogs/\$1catalog\$1  | 
| IAM 動作 |  glue:GetCatalog  | 
| Lake Formation 許可 | DESCRIBE | 
| CloudTrail 事件 |  glue:GetCatalog  | 
| Open API 定義 | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-extensions-api.yaml\$1L40 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。

# ListNamespaces
<a name="list-ns"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | ListNamespaces | 
| 類型 |  Iceberg REST Catalog API  | 
| REST 路徑 |  GET/iceberg/v1/catalogs/\$1catalog\$1/namespaces  | 
| IAM 動作 |  glue:GetDatabase  | 
| Lake Formation 許可 | ALL, DESCRIBE, SELECT | 
| CloudTrail 事件 |  glue:GetDatabase  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L205 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只會顯示下一級別的命名空間。要列出更深層的命名空間，請在目錄路徑參數中指定巢狀目錄 ID。

# CreateNamespace
<a name="create-ns"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | CreateNamespace | 
| 類型 |  Iceberg REST Catalog API  | 
| REST 路徑 |  POST/iceberg/v1/catalogs/\$1catalog\$1/namespaces  | 
| IAM 動作 |  glue:CreateDatabase  | 
| Lake Formation 許可 | ALL, DESCRIBE, SELECT | 
| CloudTrail 事件 |  glue:CreateDatabase  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L256 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能建立單一層級命名空間。若要建立多層級命名空間，您必須反覆建立每個層級，並使用目錄路徑參數連接至該層級。

# StartCreateNamespaceTransaction
<a name="start-create-ns-transaction"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | StartCreateNamespaceTransaction | 
| 類型 |  AWS Glue 延伸項目 API  | 
| REST 路徑 |  POST/extensions/v1/catalogs/\$1catalog\$1/namespaces  | 
| IAM 動作 |  glue:CreateDatabase  | 
| Lake Formation 許可 | ALL, DESCRIBE, SELECT | 
| CloudTrail 事件 |  glue:CreateDatabase  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L256 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能建立單一層級命名空間。若要建立多層級命名空間，必須反覆建立每個層級，並使用目錄路徑參數連接至該層級。
+ API 為非同步，並傳回可用於使用 `CheckTransactionStatus` API 呼叫進行追蹤的交易 ID。
+  只有當 `GetCatalog` API 呼叫在回應中包含參數 `use-extensions=true` 時，才能呼叫此 API。

## LoadNamespaceMetadata
<a name="load-ns-metadata"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | LoadNamespaceMetadata | 
| 類型 |  Iceberg REST Catalog API  | 
| REST 路徑 |  GET/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1  | 
| IAM 動作 |  glue:GetDatabase  | 
| Lake Formation 許可 | ALL, DESCRIBE, SELECT | 
| CloudTrail 事件 |  glue:GetDatabase  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L302 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱 [命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param) 一節。

## UpdateNamespaceProperties
<a name="w2aac20c29c16c21c13"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | UpdateNamespaceProperties | 
| 類型 |  Iceberg REST Catalog API  | 
| REST 路徑 |  POST /iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/properties  | 
| IAM 動作 |  glue:UpdateDatabase  | 
| Lake Formation 許可 | ALL, ALTER | 
| CloudTrail 事件 |  glue:UpdateDatabase  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L400 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱 [命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param) 一節。

# DeleteNamespace
<a name="delete-ns"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | DeleteNamespace | 
| 類型 |  Iceberg REST Catalog API  | 
| REST 路徑 |  DELETE/iceberg/v1/catalogs/\$1catalog\$1/namespces/\$1ns\$1  | 
| IAM 動作 |  glue:DeleteDatabase  | 
| Lake Formation 許可 | ALL, DROP | 
| CloudTrail 事件 |  glue:DeleteDatabase  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L365 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 如果資料庫中有物件，操作將會失敗。
+ API 為非同步，並傳回可用於使用 `CheckTransactionStatus` API 呼叫進行追蹤的交易 ID。
+  只有 `GetCatalog` API 呼叫在回應中指示 `use-extensions=true` 時，才能使用 API。

# StartDeleteNamespaceTransaction
<a name="start-delete-ns-transaction"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | StartDeleteNamespaceTransaction | 
| 類型 |  AWS Glue 延伸項目 API  | 
| REST 路徑 |  DELETE /extensions/v1/catalogs/\$1catalog\$1/namespces/\$1ns\$1  | 
| IAM 動作 |  glue:DeleteDatabase  | 
| Lake Formation 許可 | ALL, DROP | 
| CloudTrail 事件 |  glue:DeleteDatabase  | 
| Open API 定義 | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-extensions-api.yaml\$1L85 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 如果資料庫中有物件，操作將會失敗。
+ API 為非同步，並傳回可用於使用 `CheckTransactionStatus` API 呼叫進行追蹤的交易 ID。
+  只有 `GetCatalog` API 呼叫在回應中指示 `use-extensions=true` 時，才能使用 API。

# ListTables
<a name="list-tables"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | ListTables | 
| 類型 |  Iceberg REST Catalog API  | 
| REST 路徑 |  GET /iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables  | 
| IAM 動作 |  glue:GetTables  | 
| Lake Formation 許可 | ALL, SELECT, DESCRIBE | 
| CloudTrail 事件 |  glue:GetTables  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L463 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 將列出包括非 Iceberg 資料表在內的所有資料表。若要確定資料表是否可以載入為 Iceberg 資料表，請呼叫 `LoadTable`操作。

# CreateTable
<a name="create-table"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | CreateTable | 
| 類型 |  Iceberg REST Catalog API  | 
| REST 路徑 |  GET /iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables  | 
| IAM 動作 |  glue:CreateTable  | 
| Lake Formation 許可 | ALL, CREATE\$1TABLE | 
| CloudTrail 事件 |  glue:CreateTable  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L497 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 不支援具有暫存的 `CreateTable`。如果指定 `stageCreate` 查詢參數，操作將會失敗。這表示不支援 `CREATE TABLE AS SELECT` 等操作，您可以使用 `CREATE TABLE` 和 `INSERT INTO` 的組合作為解決方法。
+ `CreateTable` API 操作不支援選項 `state-create = TRUE`。

# StartCreateTableTransaction
<a name="start-create-table-transaction"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | CreateTable | 
| 類型 |  AWS Glue 延伸項目 API  | 
| REST 路徑 |  POST/extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables  | 
| IAM 動作 |  glue:CreateTable  | 
| Lake Formation 許可 | ALL, CREATE\$1TABLE | 
| CloudTrail 事件 |  glue:CreateTable  | 
| Open API 定義 | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-extensions-api.yaml\$1L107 | 

****考量和限制****
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 不支援具有暫存的 `CreateTable`。如果指定 `stageCreate` 查詢參數，操作將會失敗。這表示不支援 `CREATE TABLE AS SELECT` 等操作，使用者應使用 `CREATE TABLE` 和 `INSERT INTO` 的組合來解決問題。
+ API 為非同步，並傳回可用於使用 `CheckTransactionStatus` API 呼叫進行追蹤的交易 ID。
+  只有 `GetCatalog` API 呼叫在回應中指示 `use-extensions=true` 時，才能使用 API。

# LoadTable
<a name="load-table"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | LoadTable | 
| Type |  Iceberg REST Catalog API  | 
| REST 路徑 |  GET /iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1  | 
| IAM 動作 |  glue:GetTable  | 
| Lake Formation 許可 | ALL, SELECT, DESCRIBE | 
| CloudTrail 事件 |  glue:GetTable  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L616 | 

**考量事項**
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 不支援具有暫存的 `CreateTable`。如果指定 `stageCreate` 查詢參數，操作將會失敗。這表示不支援 `CREATE TABLE AS SELECT` 等操作，使用者應使用 `CREATE TABLE` 和 `INSERT INTO` 的組合來解決問題。
+ API 為非同步，並傳回可用於使用 `CheckTransactionStatus` API 呼叫進行追蹤的交易 ID。
+  只有 `GetCatalog` API 呼叫在回應中指示 `use-extensions=true` 時，才能使用 API。

# ExtendedLoadTable
<a name="extended-load-table"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | LoadTable | 
| Type |  AWS Glue 延伸項目 API  | 
| REST 路徑 |  GET /extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1  | 
| IAM 動作 |  glue:GetTable  | 
| Lake Formation 許可 | ALL, SELECT, DESCRIBE | 
| CloudTrail 事件 |  glue:GetTable  | 
| Open API 定義 | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-extensions-api.yaml\$1L134 | 

**考量事項**
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 快照查詢參數僅支援 `all` 模式。
+ 與 `LoadTable` API 相比，`ExtendedLoadTable` API 有下列不同：
  +  並不嚴格要求所有字段都可用。
  + 在回應的組態欄位中提供下列額外參數：  
**額外參數**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/extended-load-table.html)

# PreplanTable
<a name="preplan-table"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | PreplanTable | 
| Type |  AWS Glue 延伸項目 API  | 
| REST 路徑 |  POST /extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1/preplan  | 
| IAM 動作 |  glue:GetTable  | 
| Lake Formation 許可 | ALL, SELECT, DESCRIBE | 
| CloudTrail 事件 |  glue:GetTable  | 
| Open API 定義 | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-extensions-api.yaml\$1L211 | 

**考量事項**
+ 目錄路徑參數應遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 一節中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 此 API 的呼叫者務必根據頁面字符來判斷是否有要擷取的剩餘結果。如果伺服器端仍在處理中，但在指定的回應時間內無法產生任何結果，則可能產生頁面項空白但具有分頁字符的回應。
+  只有在 `ExtendedLoadTable` API 回應包含 `aws.server-side-capabilities.scan-planning=true` 時，才能使用此 API。

# PlanTable
<a name="plan-table"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | PlanTable | 
| Type |  AWS Glue 延伸項目 API  | 
| REST 路徑 |  POST /extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1/plan  | 
| IAM 動作 |  glue:GetTable  | 
| Lake Formation 許可 | ALL, SELECT, DESCRIBE | 
| CloudTrail 事件 |  glue:GetTable  | 
| Open API 定義 | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-extensions-api.yaml\$1L243 | 

**考量事項**
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 此 API 的呼叫者務必根據頁面字符來判斷是否有要擷取的剩餘結果。如果伺服器端仍在處理中，但在指定的回應時間內無法產生任何結果，則可能產生頁面項空白但具有分頁字符的回應。
+  只有在 `ExtendedLoadTable` API 回應包含 `aws.server-side-capabilities.scan-planning=true` 時，才能使用此 API。

# TableExists
<a name="table-exists"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | TableExists | 
| Type |  Iceberg REST Catalog API  | 
| REST 路徑 |  HEAD/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1  | 
| IAM 動作 |  glue:GetTable  | 
| Lake Formation 許可 | ALL, SELECT, DESCRIBE | 
| CloudTrail 事件 |  glue:GetTable  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L833 | 

**考量事項**
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱 [命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param) 一節。

# UpdateTable
<a name="update-table"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | UpdateTable | 
| Type |  Iceberg REST Catalog API  | 
| REST 路徑 |  POST /iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1  | 
| IAM 動作 |  glue:UpdateTable  | 
| Lake Formation 許可 | ALL, ALTER | 
| CloudTrail 事件 |  glue:UpdateTable  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L677 | 

**考量事項**
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱 [命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param) 一節。

# StartUpdateTableTransaction
<a name="start-update-table-transaction"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | StartUpdateTableTransaction | 
| Type | AWS Glue 延伸 API | 
| REST 路徑 |  POST/extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1  | 
| IAM 動作 |  glue:UpdateTable  | 
| Lake Formation 許可 |  ALL, ALTER  | 
| CloudTrail 事件 |  glue:UpdateTable  | 
| Open API 定義 | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-extensions-api.yaml\$1L154 | 

**考量事項**
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ API 為非同步，並傳回可用於使用 `CheckTransactionStatus` API 呼叫進行追蹤的交易 ID。
+  也可以透過此 API 執行 `RenamTable` 操作。發生這種情況時，呼叫者也必須擁有 ahve glue：CreateTable 或 LakeFormation CREATE\$1TABLE 許可，才能重新命名資料表。
+  只有在 `ExtendedLoadTable` API 回應包含 `aws.server-side-capabilities.scan-planning=true` 時，才能使用此 API。

# DeleteTable
<a name="delete-table"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | DeleteTable | 
| Type |  Iceberg REST Catalog API  | 
| REST 路徑 |  DELETE/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1  | 
| IAM 動作 |  glue:DeleteTable  | 
| Lake Formation 許可 | ALL, DROP | 
| CloudTrail 事件 |  glue:DeleteTable  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L793 | 

**考量事項**
+ 目錄路徑參數應遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 一節中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ `DeleteTable` API 操作支援清除選項。在清除設定為 `true` 時，資料表資料會刪除，否則不會刪除資料。對於 Amazon S3 中的資料表，操作不會刪除資料表資料。當資料表儲存在 Amazon S3 中且 `purge = TRUE,` 時，操作會失敗。

  對於儲存在 Amazon Redshift 受管儲存體中的資料表，操作會刪除資料表資料，類似於 Amazon Redshift 中 `DROP TABLE` 的行為。當資料表儲存在 Amazon Redshift 中且 `purge = FALSE` 時，操作會失敗。
+ 不支援 `purgeRequest=true`。

# StartDeleteTableTransaction
<a name="start-delete-table-transaction"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | StartDeleteTableTransaction | 
| Type |  AWS Glue 延伸項目 API  | 
| REST 路徑 |  DELETE /extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1  | 
| IAM 動作 |  glue:DeleteTable  | 
| Lake Formation 許可 | ALL, DROP | 
| CloudTrail 事件 |  glue:DeleteTable  | 
| Open API 定義 | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest-catalog-open-api.yaml\$1L793 | 

**考量事項**
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。
+ 只能在 REST 路徑參數中指定單一層級命名空間。如需詳細資訊，請參閱[命名空間路徑參數](connect-glu-iceberg-rest.md#ns-path-param)一節。
+ 不支援 `purgeRequest=false`。
+  API 是非同步的，並傳回可透過 `CheckTransactionStatus` 追蹤的交易 ID。

# CheckTransactionStatus
<a name="check-transaction-status"></a>


**一般資訊**  

|  |  | 
| --- |--- |
| 操作名稱 | CheckTransactionStatus | 
| Type |  AWS Glue 延伸項目 API  | 
| REST 路徑 |  POST/extensions/v1/transactions/status  | 
| IAM 動作 |  與啟動交易的動作相同的許可  | 
| Lake Formation 許可 | 與啟動交易的動作相同的許可 | 
| Open API 定義 | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-extensions-api.yaml\$1L273 | 

**考量事項**
+ 目錄路徑參數必須遵循 [字首和目錄路徑參數](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) 部分中所述的樣式。