데이터베이스 API - AWS Glue

데이터베이스 API

데이터베이스 API는 데이터베이스 데이터 형식을 설명하며, 데이터베이스를 생성, 삭제, 위치 지정, 업데이트 및 목록화하는 API를 포함합니다.

데이터 유형

데이터베이스 구조

Database 객체는 Hive 메타스토어 혹은 RDBMS에 있는 테이블의 논리적 그룹을 나타냅니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    데이터베이스의 이름입니다. 저장될 때 소문자로 저장되어 Hive 호환성을 유지합니다.

  • DescriptionURI address multi-line string pattern과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다.

    데이터베이스에 대한 설명입니다.

  • LocationUriURI address multi-line string pattern과(와) 일치하는 1~1,024바이트 길이의 URI(Uniform Resource Identifier)입니다.

    데이터베이스의 위치(예: HDFS 경로)입니다.

  • Parameters – 키-값 페어의 맵 배열입니다.

    각 키는 Single-line string pattern과(와) 일치하는 1~255 바이트 길이의 키 문자열입니다.

    각 값은 512000 바이트 이하 길이의 UTF-8 문자열입니다.

    이러한 키-값 쌍은 데이터베이스의 파라미터와 속성을 정의합니다.

  • CreateTime – 타임스탬프입니다.

    메타 데이터베이스가 카탈로그에 생성된 시간입니다.

  • CreateTableDefaultPermissionsPrincipalPermissions 객체의 배열입니다.

    보안 주체에 대한 테이블에서 기본 권한 세트를 생성합니다.

  • TargetDatabaseDatabaseIdentifier 객체입니다.

    리소스 링크에 대한 대상 데이터베이스를 설명하는 DatabaseIdentifier 구조입니다.

  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    데이터베이스가 있는 데이터 카탈로그의 ID입니다.

DatabaseInput 구조

데이터베이스를 생성 및 업데이트할 때 사용되는 구조입니다.

필드
  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    데이터베이스의 이름입니다. 저장될 때 소문자로 저장되어 Hive 호환성을 유지합니다.

  • DescriptionURI address multi-line string pattern과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다.

    데이터베이스에 대한 설명입니다.

  • LocationUriURI address multi-line string pattern과(와) 일치하는 1~1,024바이트 길이의 URI(Uniform Resource Identifier)입니다.

    데이터베이스의 위치(예: HDFS 경로)입니다.

  • Parameters – 키-값 페어의 맵 배열입니다.

    각 키는 Single-line string pattern과(와) 일치하는 1~255 바이트 길이의 키 문자열입니다.

    각 값은 512000 바이트 이하 길이의 UTF-8 문자열입니다.

    이러한 키-값 쌍은 데이터베이스의 파라미터와 속성을 정의합니다.

    이러한 키-값 쌍은 데이터베이스의 파라미터와 속성을 정의합니다.

  • CreateTableDefaultPermissionsPrincipalPermissions 객체의 배열입니다.

    보안 주체에 대한 테이블에서 기본 권한 세트를 생성합니다.

  • TargetDatabaseDatabaseIdentifier 객체입니다.

    리소스 링크에 대한 대상 데이터베이스를 설명하는 DatabaseIdentifier 구조입니다.

PrincipalPermissions 구조

보안 주체에게 부여된 권한입니다.

필드
  • PrincipalDataLakePrincipal 객체입니다.

    권한을 부여받는 보안 주체입니다.

  • Permissions – UTF-8 문자열의 배열입니다.

    보안 주체에게 부여되는 권한입니다.

DataLakePrincipal 구조

AWS Lake Formation 보안 주체입니다.

필드
  • DataLakePrincipalIdentifier – 1~255바이트 길이의 UTF-8 문자열입니다.

    AWS Lake Formation 보안 주체의 식별자입니다.

DatabaseIdentifier 구조

리소스 링크에 대한 대상 데이터베이스를 설명하는 구조입니다.

필드
  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    데이터베이스가 있는 데이터 카탈로그의 ID입니다.

  • DatabaseNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    카탈로그 데이터베이스의 이름입니다.

작업

CreateDatabase 작업(Python: create_database)

데이터 카탈로그에 새로운 데이터베이스를 생성합니다.

요청
  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    데이터베이스를 생성할 데이터 카탈로그의 ID입니다. 제공되지 않은 경우 기본적으로 AWS 계정 ID가 사용됩니다.

  • DatabaseInput필수(Required): DatabaseInput 객체입니다.

    데이터베이스의 메타데이터입니다.

  • Tags – 50개 이하의 페어로 구성된 키-값 페어의 맵 배열입니다.

    각 키는 길이가 1~128바이트인 UTF-8 문자열입니다.

    각 값은 256 바이트 이하 길이의 UTF-8 문자열입니다.

    데이터베이스에 할당하는 태그입니다.

응답
  • 무응답 파라미터.

오류
  • InvalidInputException

  • AlreadyExistsException

  • ResourceNumberLimitExceededException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

UpdateDatabase 작업(Python: update_database)

데이터 카탈로그에서 기존 데이터베이스를 업데이트합니다.

요청
  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    메타데이터 데이터베이스가 있는 데이터 카탈로그의 ID입니다. 제공되지 않은 경우 기본적으로 AWS 계정 ID가 사용됩니다.

  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    카탈로그에서 업데이트할 데이터베이스의 이름입니다. 저장될 때 소문자로 저장되어 Hive 호환성을 유지합니다.

  • DatabaseInput필수(Required): DatabaseInput 객체입니다.

    DatabaseInput 객체는 카탈로그에서 메타데이터 데이터베이스의 새로운 정의를 지정합니다.

응답
  • 무응답 파라미터.

오류
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

  • ConcurrentModificationException

DeleteDatabase 작업(Python: delete_database)

데이터 카탈로그에서 지정된 데이터베이스를 제거합니다.

참고

이 작업을 완료한 후에는 테이블(및 테이블에 속하는 모든 테이블 버전과 파티션)은 물론 삭제된 데이터베이스에 있는 사용자 정의 함수에 더 이상 액세스하지 못합니다. AWS Glue는 이러한 "분리된" 리소스를 서비스 재량에 따라 적시에 비동기로 삭제합니다

관련된 모든 리소스가 즉시 삭제되도록 DeleteDatabase 호출 전에 DeleteTableVersion 또는 BatchDeleteTableVersion, DeletePartition 또는 BatchDeletePartition, DeleteUserDefinedFunctionDeleteTable 또는 BatchDeleteTable를 사용하여 데이터베이스에 속하는 모든 리소스를 삭제하십시오.

요청
  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    데이터베이스가 있는 데이터 카탈로그의 ID입니다. 제공되지 않은 경우 기본적으로 AWS 계정 ID가 사용됩니다.

  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    삭제할 데이터베이스의 이름입니다. 반드시 모두 소문자로 저장하여 Hive 호환성을 유지하도록 합니다.

응답
  • 무응답 파라미터.

오류
  • EntityNotFoundException

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • ConcurrentModificationException

GetDatabase 작업(Python: get_database)

지정된 데이터베이스의 정의를 검색합니다.

요청
  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    데이터베이스가 있는 데이터 카탈로그의 ID입니다. 제공되지 않은 경우 기본적으로 AWS 계정 ID가 사용됩니다.

  • Name필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    검색할 데이터베이스의 이름입니다. 반드시 모두 소문자로 저장하여 Hive 호환성을 유지하도록 합니다.

응답
  • Database데이터베이스 객체입니다.

    데이터 카탈로그에서 지정된 데이터베이스의 정의입니다.

오류
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException

GetDatabases 작업(Python: get_database)

주어진 데이터 카탈로그에 정의된 모든 데이터베이스를 검색합니다.

요청
  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    Databases를 검색할 데이터 카탈로그의 ID입니다. 제공되지 않은 경우 기본적으로 AWS 계정 ID가 사용됩니다.

  • NextToken – UTF-8 문자열입니다.

    이것이 지속적으로 호출되면 지속적인 토큰입니다.

  • MaxResults – 1~100의 숫자(정수)입니다.

    한 번의 응답으로 반환될 최대 데이터베이스 수입니다.

  • ResourceShareType – UTF-8 문자열입니다(유효한 값: FOREIGN | ALL).

    계정과 공유된 데이터베이스를 나열하도록 지정할 수 있습니다. 허용 가능 값은 FOREIGN 또는 ALL입니다.

    • FOREIGN으로 설정하면 계정과 공유된 데이터베이스가 나열됩니다.

    • ALL로 설정하면 계정과 공유된 데이터베이스와 로컬 계정의 데이터베이스가 나열됩니다.

응답
  • DatabaseList필수(Required): 데이터베이스 객체의 배열입니다.

    지정된 카탈로그의 Database 목록입니다.

  • NextToken – UTF-8 문자열입니다.

    목록의 현재 세그먼트가 마지막이 아니면 반환된 토큰 목록에 페이지를 매기는 지속적인 토큰은 반환됩니다.

오류
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • GlueEncryptionException