

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 中的资源链接处理 AWS Glue APIs
<a name="resource-links-glue-apis"></a>

下表说明了AWS Glue数据目录如何 APIs 处理数据库和表资源链接。对于所有 `Get*` API 操作，仅返回调用者对其拥有权限的数据库和表。此外，通过资源链接访问目标数据库或表时，您必须同时拥有目标和资源链接的 AWS Identity and Access Management (IAM) 和 Lake Formation 权限。您需要对资源链接拥有的 Lake Formation 权限是 `DESCRIBE`。有关更多信息，请参阅 [`DESCRIBE`](lf-permissions-reference.md#perm-describe)。


**数据库 API 操作**  

| API 操作 | 资源链接处理 | 
| --- | --- | 
| CreateDatabase | 如果数据库是资源链接，则创建指向指定目标数据库的资源链接。 | 
| UpdateDatabase | 如果指定的数据库是资源链接，则访问该链接并更新目标数据库。如果必须修改资源链接以链接到其他数据库，则必须将其删除，然后再创建一个新的资源链接。 | 
| DeleteDatabase | 删除资源链接。这不会删除所链接的（目标）数据库。 | 
| GetDatabase | 如果调用者对目标拥有权限，请单击该链接返回目标的属性。否则，它将返回链接的属性。 | 
| GetDatabases | 返回数据库列表，包括资源链接。对于结果集中的每个资源链接，操作都会访问该链接以获取链接目标的属性。必须指定 ResourceShareType = ALL 才能查看与您的账户共享的数据库。 | 


**表 API 操作**  

| API 操作 | 资源链接处理 | 
| --- | --- | 
| CreateTable | 如果数据库是资源链接，则访问该数据库链接并在目标数据库中创建表。如果表是资源链接，则该操作将在指定的数据库中创建资源链接。不支持通过数据库资源链接创建表资源链接。 | 
| UpdateTable | 如果表或指定数据库是资源链接，则更新目标表。如果表和数据库都是资源链接，则操作将失败。 | 
| DeleteTable | 如果指定的数据库是资源链接，则访问该链接并删除目标数据库中的表或表资源链接。如果表是资源链接，则该操作会删除指定数据库中的表资源链接。删除表资源链接不会删除目标表。 | 
| BatchDeleteTable | 与 DeleteTable 相同。 | 
| GetTable | 如果指定的数据库是资源链接，则访问该数据库链接并返回目标数据库中的表或表资源链接。否则，如果表是资源链接，则该操作访问该链接并返回目标表的属性。 | 
| GetTables | 如果指定的数据库是资源链接，则访问该数据库链接并返回目标数据库中的表和表资源链接。如果目标数据库是来自另一个 AWS 账户的共享数据库，则该操作仅返回该数据库中的共享表。它不访问目标数据库中的表资源链接。否则，如果指定的数据库是本地（自有）数据库，则该操作将返回本地数据库中的所有表，并访问每个表资源链接以返回目标表的属性。 | 
| SearchTables | 返回表和表资源链接。这不会访问链接以返回目标表的属性。必须指定 ResourceShareType = ALL 才能查看与您的账户共享的表。 | 
| GetTableVersion | 与 GetTable 相同。 | 
| GetTableVersions | 与 GetTable 相同。 | 
| DeleteTableVersion | 与 DeleteTable 相同。 | 
| BatchDeleteTableVersion | 与 DeleteTable 相同。 | 


**分区 API 操作**  

| API 操作 | 资源链接处理 | 
| --- | --- | 
| CreatePartition | 如果指定的数据库是资源链接，则访问该数据库链接并在目标数据库的指定表中创建一个分区。如果表是资源链接，则该操作访问该资源链接并在目标表中创建分区。不支持通过表资源链接和数据库资源链接创建分区。 | 
| BatchCreatePartition | 与 CreatePartition 相同。 | 
| UpdatePartition | 如果指定的数据库是资源链接，则访问该数据库链接并更新目标数据库中指定表中的分区。如果表是资源链接，则该操作访问该资源链接并更新目标表中的分区。不支持通过表资源链接和数据库资源链接创建分区。 | 
| DeletePartition | 如果指定的数据库是资源链接，则访问该数据库链接并删除目标数据库中指定表中的分区。如果表是资源链接，则该操作访问该资源链接并删除目标表中的分区。不支持通过表资源链接和数据库资源链接创建分区。 | 
| BatchDeletePartition | 与 DeletePartition 相同。 | 
| GetPartition | 如果指定的数据库是资源链接，则访问该数据库链接并返回指定表中的分区信息。否则，如果表是资源链接，则该操作访问该链接并返回分区信息。如果表和数据库都是资源链接，则返回一个空结果集。 | 
| GetPartitions | 如果指定的数据库是资源链接，则访问该数据库链接并返回指定表中所有分区的分区信息。否则，如果表是资源链接，则该操作访问该链接并返回分区信息。如果表和数据库都是资源链接，则返回一个空结果集。 | 
| BatchGetPartition | 与 GetPartition 相同。 | 


**用户定义的函数 API 操作**  

| API 操作 | 资源链接处理 | 
| --- | --- | 
| （所有 API 操作） | 如果数据库是资源链接，则访问该资源链接并针对目标数据库执行操作。 | 

**另请参阅：**  
[资源链接在 Lake Formation 中的工作原理](resource-links-about.md)