

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

# AWS Glue APIs中的資源連結處理
<a name="resource-links-glue-apis"></a>

下表說明 AWS Glue Data Catalog 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)