AWS Glue API에서의 리소스 링크 처리
다음 표에서는 AWS Glue 데이터 카탈로그 API가 데이터베이스 및 테이블 리소스 링크를 처리하는 방법을 설명합니다. 모든 Get*
API 작업에서는 호출자에게 사용 권한이 있는 데이터베이스와 테이블만 반환됩니다. 또한 리소스 링크를 통해 대상 데이터베이스 또는 테이블에 액세스할 때는 대상과 리소스 링크 모두에 대해 AWS Identity and Access Management(IAM) 및 Lake Formation 권한이 모두 있어야 합니다. 리소스 링크에 필요한 Lake Formation 권한은 DESCRIBE
입니다. 자세한 내용은 DESCRIBE 단원을 참조하십시오.
API 작업 | 리소스 링크 처리 |
---|---|
CreateDatabase |
데이터베이스가 리소스 링크인 경우 지정된 대상 데이터베이스에 대한 리소스 링크를 생성합니다. |
UpdateDatabase |
지정된 데이터베이스가 리소스 링크인 경우 링크를 따라가서 대상 데이터베이스를 업데이트합니다. 다른 데이터베이스로 연결되도록 리소스 링크를 수정해야 하는 경우 해당 링크를 삭제하고 새 링크를 만들어야 합니다. |
DeleteDatabase |
리소스 링크를 삭제합니다. 연결된 (대상) 데이터베이스는 삭제되지 않습니다. |
GetDatabase |
호출자에게 대상에 대한 권한이 있는 경우 링크를 따라가서 대상의 속성을 반환합니다. 그렇지 않으면 링크의 속성을 반환합니다. |
GetDatabases |
리소스 링크를 포함한 데이터베이스 목록을 반환합니다. 결과 집합의 각 리소스 링크에 대해 링크를 따라가서 링크 대상의 속성을 가져오는 작업을 수행합니다. 계정과 공유되는 데이터베이스를 보려면 ResourceShareType = ALL 을 지정해야 합니다. |
API 작업 | 리소스 링크 처리 |
---|---|
CreateTable |
데이터베이스가 리소스 링크인 경우 데이터베이스 링크를 따라가서 대상 데이터베이스에 테이블을 생성합니다. 테이블이 리소스 링크인 경우, 작업은 지정된 데이터베이스에서 리소스 링크를 생성합니다. 데이터베이스 리소스 링크를 통한 테이블 리소스 링크 생성은 지원되지 않습니다. |
UpdateTable |
테이블 또는 지정된 데이터베이스가 리소스 링크인 경우 대상 테이블을 업데이트합니다. 테이블과 데이터베이스가 모두 리소스 링크인 경우 작업이 실패합니다. |
DeleteTable |
지정된 데이터베이스가 리소스 링크인 경우, 링크를 따라가서 대상 데이터베이스에서 테이블 또는 테이블 리소스 링크를 삭제합니다. 테이블이 리소스 링크인 경우, 작업은 지정된 데이터베이스에서 테이블 리소스 링크를 삭제합니다. 테이블 리소스 링크를 삭제해도 대상 테이블은 삭제되지 않습니다. |
BatchDeleteTable |
DeleteTable 와 동일합니다. |
GetTable |
지정된 데이터베이스가 리소스 링크인 경우, 데이터베이스 링크를 따라가서 대상 데이터베이스에서 테이블 또는 테이블 리소스 링크를 반환합니다. 또는 테이블이 리소스 링크인 경우, 작업은 링크를 따라가서 대상 테이블 속성을 반환합니다. |
GetTables |
지정된 데이터베이스가 리소스 링크인 경우, 데이터베이스 링크를 따라가서 대상 데이터베이스에서 테이블 및 테이블 리소스 링크를 반환합니다. 대상 데이터베이스가 다른 AWS 계정의 공유 데이터베이스인 경우, 작업은 해당 데이터베이스의 공유 테이블만 반환합니다. 대상 데이터베이스의 테이블 리소스 링크를 따르지 않습니다. 그렇지 않으면 지정된 데이터베이스가 로컬(소유) 데이터베이스인 경우, 작업은 로컬 데이터베이스의 모든 테이블을 반환하고 각 테이블 리소스 링크를 따라 대상 테이블 속성을 반환합니다. |
SearchTables |
테이블 및 테이블 리소스 링크를 반환합니다. 대상 테이블 속성을 반환하는 링크를 따르지는 않습니다. 계정과 공유되는 테이블을 보려면 ResourceShareType = ALL 을 지정해야 합니다. |
GetTableVersion |
GetTable 와 동일합니다. |
GetTableVersions |
GetTable 와 동일합니다. |
DeleteTableVersion |
DeleteTable 와 동일합니다. |
BatchDeleteTableVersion |
DeleteTable 와 동일합니다. |
API 작업 | 리소스 링크 처리 |
---|---|
CreatePartition |
지정된 데이터베이스가 리소스 링크인 경우, 데이터베이스 링크를 따라가서 대상 데이터베이스의 지정된 테이블에 파티션을 만듭니다. 테이블이 리소스 링크인 경우, 작업은 리소스 링크를 따라가서 대상 테이블에 파티션을 만듭니다. 테이블 리소스 링크와 데이터베이스 리소스 링크를 모두 통한 파티션 생성은 지원되지 않습니다. |
BatchCreatePartition |
CreatePartition 와 동일합니다. |
UpdatePartition |
지정된 데이터베이스가 리소스 링크인 경우, 데이터베이스 링크를 따라가서 대상 데이터베이스의 지정된 테이블에 파티션을 업데이트합니다. 테이블이 리소스 링크인 경우, 작업은 리소스 링크를 따라가서 대상 테이블에 파티션을 업데이트합니다. 테이블 리소스 링크와 데이터베이스 리소스 링크를 모두 통한 파티션 업데이트는 지원되지 않습니다. |
DeletePartition |
지정된 데이터베이스가 리소스 링크인 경우, 데이터베이스 링크를 따라가서 대상 데이터베이스의 지정된 테이블에 파티션을 삭제합니다. 테이블이 리소스 링크인 경우, 작업은 리소스 링크를 따라가서 대상 테이블에 파티션을 삭제합니다. 테이블 리소스 링크와 데이터베이스 리소스 링크를 모두 통한 파티션 삭제는 지원되지 않습니다. |
BatchDeletePartition |
DeletePartition 와 동일합니다. |
GetPartition |
지정된 데이터베이스가 리소스 링크인 경우, 데이터베이스 링크를 따라가서 지정된 테이블의 파티션 정보를 반환합니다. 또는 테이블이 리소스 링크인 경우, 작업은 링크를 따라가서 파티션 정보를 반환합니다. 테이블과 데이터베이스가 모두 리소스 링크인 경우, 빈 결과 집합이 반환됩니다. |
GetPartitions |
지정된 데이터베이스가 리소스 링크인 경우, 데이터베이스 링크를 따라가서 지정된 테이블의 모든 파티션에 대한 파티션 정보를 반환합니다. 또는 테이블이 리소스 링크인 경우, 작업은 링크를 따라가서 파티션 정보를 반환합니다. 테이블과 데이터베이스가 모두 리소스 링크인 경우, 빈 결과 집합이 반환됩니다. |
BatchGetPartition |
GetPartition 와 동일합니다. |
API 작업 | 리소스 링크 처리 |
---|---|
(모든 API 작업) | 데이터베이스가 리소스 링크인 경우, 리소스 링크를 따라가서 대상 데이터베이스에서 작업을 수행합니다. |