

# 适用于 Apache Iceberg 的 AWS Glue REST API 规范
<a name="iceberg-rest-apis"></a>

本节包含有关 AWS Glue Iceberg REST 目录 API 和 AWS Glue 扩展 API 的规范，以及使用这些 API 时的注意事项。

对 AWS Glue Data Catalog 端点的 API 请求使用 AWS 签名版本 4（SigV4）进行身份验证。请参阅[适用于 API 请求的 AWS 签名版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) 部分以了解有关 AWS SigV4 的更多信息。

访问 AWS Glue 服务端点和 AWS Glue 元数据时，应用程序将代入一个需要 `glue:getCatalog` IAM 操作的 IAM 角色。

可以使用 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 permissions reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html)。

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


**一般信息**  

|  |  | 
| --- |--- |
| 操作名称 | GetConfig | 
| 类型 |  Iceberg REST 目录 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 目录 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 目录 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 目录 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 目录 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 目录 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 目录 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 目录 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 | 
| 类型 |  Iceberg REST 目录 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 | 
| 类型 |  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_cn/glue/latest/dg/extended-load-table.html)

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


**一般信息**  

|  |  | 
| --- |--- |
| 操作名称 | PreplanTable | 
| 类型 |  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 | 
| 类型 |  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 | 
| 类型 |  Iceberg REST 目录 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 | 
| 类型 |  Iceberg REST 目录 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 | 
| 类型 | 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` 操作。发生这种情况时，调用者还必须拥有要重命名的表的 glue:CreateTable 或 LakeFormation CREATE\$1TABLE 权限。
+  只有当 `ExtendedLoadTable` API 响应包含 `aws.server-side-capabilities.scan-planning=true` 时，您才能使用此 API。

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


**一般信息**  

|  |  | 
| --- |--- |
| 操作名称 | DeleteTable | 
| 类型 |  Iceberg REST 目录 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 操作支持 purge 选项。当清除设置为 `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 | 
| 类型 |  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 | 
| 类型 |  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)部分中描述的样式。