

# Schema Registry
<a name="aws-glue-api-schema-registry-api"></a>

스키마 레지스트리 API는 AWS Glue에서의 스키마 작업과 관련된 API 및 데이터 유형에 대해 설명합니다.

## 데이터 타입
<a name="aws-glue-api-schema-registry-api-objects"></a>
+ [RegistryId 구조](#aws-glue-api-schema-registry-api-RegistryId)
+ [RegistryListItem 구조](#aws-glue-api-schema-registry-api-RegistryListItem)
+ [MetadataInfo 구조](#aws-glue-api-schema-registry-api-MetadataInfo)
+ [OtherMetadataValueListItem 구조](#aws-glue-api-schema-registry-api-OtherMetadataValueListItem)
+ [SchemaListItem 구조](#aws-glue-api-schema-registry-api-SchemaListItem)
+ [SchemaVersionListItem 구조](#aws-glue-api-schema-registry-api-SchemaVersionListItem)
+ [MetadataKeyValuePair 구조](#aws-glue-api-schema-registry-api-MetadataKeyValuePair)
+ [SchemaVersionErrorItem 구조](#aws-glue-api-schema-registry-api-SchemaVersionErrorItem)
+ [ErrorDetails 구조](#aws-glue-api-schema-registry-api-ErrorDetails)
+ [SchemaVersionNumber 구조](#aws-glue-api-schema-registry-api-SchemaVersionNumber)
+ [SchemaId 구조](#aws-glue-api-schema-registry-api-SchemaId)

## RegistryId 구조
<a name="aws-glue-api-schema-registry-api-RegistryId"></a>

레지스트리 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.

**Fields**
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  레지스트리의 이름입니다. 조회에만 사용됩니다. `RegistryArn` 또는 `RegistryName` 중 하나가 제공되어야 합니다.
+ `RegistryArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  업데이트할 레지스트리의 ARN입니다. `RegistryArn` 또는 `RegistryName` 중 하나가 제공되어야 합니다.

## RegistryListItem 구조
<a name="aws-glue-api-schema-registry-api-RegistryListItem"></a>

레지스트리에 대한 세부 정보를 포함하는 구조입니다.

**Fields**
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  레지스트리의 이름입니다.
+ `RegistryArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  레지스트리의 Amazon 리소스 이름(ARN)입니다.
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  레지스트리에 대한 설명입니다.
+ `Status` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `DELETING`).

  레지스트리의 상태입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  레지스트리가 생성된 데이터입니다.
+ `UpdatedTime` – UTF-8 문자열입니다.

  레지스트리가 업데이트된 날짜입니다.

## MetadataInfo 구조
<a name="aws-glue-api-schema-registry-api-MetadataInfo"></a>

스키마 버전에 대한 메타데이터 정보를 포함하는 구조입니다.

**Fields**
+ `MetadataValue` – 과(와) 일치하는 1\~256바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #14](aws-glue-api-common.md#regex_14)

  메타데이터 키의 해당하는 값입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  항목이 생성된 시간입니다.
+ `OtherMetadataValueList` – [OtherMetadataValueListItem](#aws-glue-api-schema-registry-api-OtherMetadataValueListItem) 객체의 배열입니다.

  동일한 메타데이터 키에 속하는 다른 메타데이터입니다.

## OtherMetadataValueListItem 구조
<a name="aws-glue-api-schema-registry-api-OtherMetadataValueListItem"></a>

동일한 메타데이터 키에 속하는 스키마 버전에 대한 다른 메타데이터를 포함하는 구조입니다.

**Fields**
+ `MetadataValue` – 과(와) 일치하는 1\~256바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #14](aws-glue-api-common.md#regex_14)

  동일한 메타데이터 키에 속하는 스키마 버전에 대한 다른 메타데이터를 포함하는 구조입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  항목이 생성된 시간입니다.

## SchemaListItem 구조
<a name="aws-glue-api-schema-registry-api-SchemaListItem"></a>

스키마에 대한 최소한의 세부 정보를 포함하는 객체입니다.

**Fields**
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  스키마가 있는 레지스트리의 이름입니다.
+ `SchemaName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  스키마의 이름입니다.
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN)입니다.
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  스키마에 대한 설명입니다.
+ `SchemaStatus` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `DELETING`).

  스키마의 상태입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  스키마가 생성된 날짜 및 시간입니다.
+ `UpdatedTime` – UTF-8 문자열입니다.

  스키마가 업데이트된 날짜 및 시간입니다.

## SchemaVersionListItem 구조
<a name="aws-glue-api-schema-registry-api-SchemaVersionListItem"></a>

스키마 버전에 대한 세부 정보를 포함하는 객체입니다.

**Fields**
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN).
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 고유한 식별자입니다.
+ `VersionNumber` - 1\~100,000의 숫자(정수)입니다.

  스키마의 버전 번호입니다.
+ `Status` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `FAILURE` \| `DELETING`).

  스키마 버전의 상태입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  스키마 버전이 생성된 날짜 및 시간입니다.

## MetadataKeyValuePair 구조
<a name="aws-glue-api-schema-registry-api-MetadataKeyValuePair"></a>

메타데이터에 대한 키 값 페어를 포함하는 구조입니다.

**Fields**
+ `MetadataKey` – 과(와) 일치하는 1\~128바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #14](aws-glue-api-common.md#regex_14)

  메타데이터 키입니다.
+ `MetadataValue` – 과(와) 일치하는 1\~256바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #14](aws-glue-api-common.md#regex_14)

  메타데이터 키의 해당하는 값입니다.

## SchemaVersionErrorItem 구조
<a name="aws-glue-api-schema-registry-api-SchemaVersionErrorItem"></a>

스키마 버전에 대한 작업에 대한 오류 세부 정보가 포함된 객체입니다.

**Fields**
+ `VersionNumber` - 1\~100,000의 숫자(정수)입니다.

  스키마의 버전 번호입니다.
+ `ErrorDetails` – [ErrorDetails](#aws-glue-api-schema-registry-api-ErrorDetails) 객체입니다.

  스키마 버전에 대한 오류 세부 정보입니다.

## ErrorDetails 구조
<a name="aws-glue-api-schema-registry-api-ErrorDetails"></a>

오류 세부 정보가 포함된 객체입니다.

**Fields**
+ `ErrorCode` – UTF-8 문자열입니다.

  오류에 대한 오류 코드입니다.
+ `ErrorMessage` – UTF-8 문자열입니다.

  오류에 대한 오류 메시지입니다.

## SchemaVersionNumber 구조
<a name="aws-glue-api-schema-registry-api-SchemaVersionNumber"></a>

스키마 버전 정보를 포함하는 구조입니다.

**Fields**
+ `LatestVersion` – 부울입니다.

  스키마에 사용할 수 있는 최신 버전입니다.
+ `VersionNumber` - 1\~100,000의 숫자(정수)입니다.

  스키마의 버전 번호입니다.

## SchemaId 구조
<a name="aws-glue-api-schema-registry-api-SchemaId"></a>

AWS Glue 스키마 레지스트리에 있는 스키마의 고유 ID입니다.

**Fields**
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN). `SchemaArn` 또는 `SchemaName` 중 하나가 제공되어야 합니다.
+ `SchemaName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  스키마의 이름입니다. `SchemaArn` 또는 `SchemaName` 중 하나가 제공되어야 합니다.
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  해당 스키마가 포함된 스키마 레지스트리의 이름입니다.

## 작업
<a name="aws-glue-api-schema-registry-api-actions"></a>
+ [CreateRegistry 작업(Python: create\_registry)](#aws-glue-api-schema-registry-api-CreateRegistry)
+ [CreateSchema 작업(Python: create\_schema)](#aws-glue-api-schema-registry-api-CreateSchema)
+ [GetSchema 작업(Python: get\_schema)](#aws-glue-api-schema-registry-api-GetSchema)
+ [ListSchemaVersions 작업(Python: list\_schema\_versions)](#aws-glue-api-schema-registry-api-ListSchemaVersions)
+ [GetSchemaVersion 작업(Python: get\_schema\_version)](#aws-glue-api-schema-registry-api-GetSchemaVersion)
+ [GetSchemaVersionsDiff 작업(Python: get\_schema\_versions\_diff)](#aws-glue-api-schema-registry-api-GetSchemaVersionsDiff)
+ [ListRegistries 작업(Python: list\_registries)](#aws-glue-api-schema-registry-api-ListRegistries)
+ [ListSchemas 작업(Python: list\_schemas)](#aws-glue-api-schema-registry-api-ListSchemas)
+ [RegisterSchemaVersion 작업(Python: register\_schema\_version)](#aws-glue-api-schema-registry-api-RegisterSchemaVersion)
+ [UpdateSchema 작업(Python: update\_schema)](#aws-glue-api-schema-registry-api-UpdateSchema)
+ [CheckSchemaVersionValidity 작업(Python: check\_schema\_version\_validity)](#aws-glue-api-schema-registry-api-CheckSchemaVersionValidity)
+ [UpdateRegistry 작업(Python: update\_registry)](#aws-glue-api-schema-registry-api-UpdateRegistry)
+ [GetSchemaByDefinition 작업(Python: get\_schema\_by\_definition)](#aws-glue-api-schema-registry-api-GetSchemaByDefinition)
+ [GetRegistry 작업(Python: get\_registry)](#aws-glue-api-schema-registry-api-GetRegistry)
+ [PutSchemaVersionMetadata 작업(Python: put\_schema\_version\_metadata)](#aws-glue-api-schema-registry-api-PutSchemaVersionMetadata)
+ [QuerySchemaVersionMetadata 작업(Python: query\_schema\_version\_metadata)](#aws-glue-api-schema-registry-api-QuerySchemaVersionMetadata)
+ [RemoveSchemaVersionMetadata 작업(Python: remove\_schema\_version\_metadata)](#aws-glue-api-schema-registry-api-RemoveSchemaVersionMetadata)
+ [DeleteRegistry 작업(Python: delete\_registry)](#aws-glue-api-schema-registry-api-DeleteRegistry)
+ [DeleteSchema 작업(Python: delete\_schema)](#aws-glue-api-schema-registry-api-DeleteSchema)
+ [DeleteSchemaVersions 작업(Python: delete\_schema\_versions)](#aws-glue-api-schema-registry-api-DeleteSchemaVersions)

## CreateRegistry 작업(Python: create\_registry)
<a name="aws-glue-api-schema-registry-api-CreateRegistry"></a>

스키마 컬렉션을 보유하는 데 사용할 수 있는 새 레지스트리를 생성합니다.

**요청**
+ `RegistryName` – *필수(Required):* [Custom string pattern #46](aws-glue-api-common.md#regex_46)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  레지스트리 이름은 최대 255자이며 문자, 숫자, 하이픈, 밑줄, 달러 기호 또는 해시 표시만 포함할 수 있습니다. 공백은 없습니다.
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  레지스트리에 대한 설명입니다. 설명이 제공되지 않으면 이에 대한 기본값이 없습니다.
+ `Tags` – 50개 이하의 페어로 구성된 키-값 페어의 맵 배열입니다.

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

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

  AWS키 값 페어가 포함된 태그이며 콘솔, 명령줄 또는 API로 검색할 수 있습니다.

**응답**
+ `RegistryArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  새로 생성된 레지스트리의 Amazon 리소스 이름(ARN)입니다.
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  레지스트리의 이름입니다.
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  레지스트리에 대한 설명입니다.
+ `Tags` – 50개 이하의 페어로 구성된 키-값 페어의 맵 배열입니다.

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

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

  레지스트리에 대한 태그입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `AlreadyExistsException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentModificationException`
+ `ThrottlingException`
+ `InternalServiceException`

## CreateSchema 작업(Python: create\_schema)
<a name="aws-glue-api-schema-registry-api-CreateSchema"></a>

새 스키마 집합을 생성하고 스키마 정의를 등록합니다. 실제로 버전을 등록하지 않고 스키마 집합이 이미 존재하는 경우 오류를 반환합니다.

스키마 집합이 생성되면 버전 체크포인트가 첫 번째 버전으로 설정됩니다. 호환성 모드 "DISABLED"는 첫 번째 스키마 버전 이후에 추가되는 모든 추가 스키마 버전을 제한합니다. 다른 모든 호환성 모드의 경우 호환성 설정의 검증은 `RegisterSchemaVersion` API를 사용할 때 두 번째 버전부터만 적용됩니다.

이 API가 `RegistryId` 없이 호출되면 레지스트리 데이터베이스 테이블에 "default-registry" 항목이 생성됩니다(아직 없는 경우).

**요청**
+ `RegistryId` – [RegistryId](#aws-glue-api-schema-registry-api-RegistryId) 객체입니다.

   이것은 레지스트리 자격 증명 필드를 포함하는 래퍼 셰이프입니다. 제공되지 않으면 기본 레지스트리가 사용됩니다. 동일한 ARN 포맷은 `arn:aws:glue:us-east-2:<customer id>:registry/default-registry:random-5-letter-id`입니다.
+ `SchemaName` – *필수(Required):* [Custom string pattern #46](aws-glue-api-common.md#regex_46)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  스키마 이름은 최대 255자이며 문자, 숫자, 하이픈, 밑줄, 달러 기호 또는 해시 표시만 포함할 수 있습니다. 공백은 없습니다.
+ `DataFormat` – *필수:* UTF-8 문자열입니다(유효한 값: `AVRO` \| `JSON` \| `PROTOBUF`).

  스키마 정의의 데이터 형식입니다. 현재 `AVRO`, `JSON` 및 `PROTOBUF`가 지원됩니다.
+ `Compatibility` – UTF-8 문자열입니다(유효한 값: `NONE` \| `DISABLED` \| `BACKWARD` \| `BACKWARD_ALL` \| `FORWARD` \| `FORWARD_ALL` \| `FULL` \| `FULL_ALL`).

  스키마의 호환성 모드입니다. 가능한 값은 다음과 같습니다.
  +  *NONE*: 호환 모드가 적용되지 않습니다. 개발 시나리오에서 또는 스키마에 적용할 호환성 모드를 모르는 경우 이 선택 사항을 사용할 수 있습니다. 추가된 모든 새 버전은 호환성 검사를 거치지 않고 수락됩니다.
  +  *DISABLED*: 이 호환성 선택 항목은 특정 스키마에 대한 버전 관리를 방지합니다. 이 선택 사항을 사용하여 스키마의 향후 버전 관리를 방지할 수 있습니다.
  +  *BACKWARD*: 이 호환성 선택 항목은 데이터 수신자가 현재 및 하나의 이전 스키마 버전을 모두 읽을 수 있도록 하므로 권장됩니다. 즉, 예를 들어 새 스키마 버전은 데이터 필드를 삭제하거나 이러한 필드의 유형을 변경할 수 없으므로 이전 버전을 사용하는 리더가 읽을 수 없습니다.
  +  *BACKWARD\_ALL*: 이 호환성 선택을 통해 데이터 수신자는 현재 및 모든 이전 스키마 버전을 모두 읽을 수 있습니다. 필드를 삭제하거나 선택적 필드를 추가하고 모든 이전 스키마 버전과의 호환성을 확인해야 할 때 이 선택 사항을 사용할 수 있습니다.
  +  *FORWARD*: 이 호환성 선택을 통해 데이터 수신기는 현재 및 하나의 다음 스키마 버전을 모두 읽을 수 있지만 반드시 이후 버전은 아닙니다. 필드를 추가하거나 선택적 필드를 삭제해야 할 때 이 선택 사항을 사용할 수 있지만 마지막 스키마 버전과의 호환성만 확인합니다.
  +  *FORWARD\_ALL*: 이 호환성 선택을 통해 데이터 수신기는 새로 등록된 스키마의 생산자가 작성한 내용을 읽을 수 있습니다. 필드를 추가하거나 선택적 필드를 삭제하고 모든 이전 스키마 버전과의 호환성을 확인해야 할 때 이 선택 사항을 사용할 수 있습니다.
  +  *FULL*: 이 호환성 선택을 통해 데이터 수신자는 이전 또는 다음 버전의 스키마를 사용하여 생산자가 작성한 데이터를 읽을 수 있지만 반드시 이전 또는 이후 버전은 아닙니다. 선택적 필드를 추가하거나 제거해야 할 때 이 선택 사항을 사용할 수 있지만 마지막 스키마 버전과의 호환성만 확인합니다.
  +  *FULL\_ALL*: 이 호환성 선택을 통해 데이터 수신자는 모든 이전 스키마 버전을 사용하여 생산자가 작성한 데이터를 읽을 수 있습니다. 선택적 필드를 추가 또는 제거하고 모든 이전 스키마 버전과의 호환성을 확인해야 할 때 이 선택 사항을 사용할 수 있습니다.
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  스키마에 대한 설명입니다(선택 사항). 설명이 제공되지 않으면 이에 대한 자동 기본값이 없습니다.
+ `Tags` – 50개 이하의 페어로 구성된 키-값 페어의 맵 배열입니다.

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

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

  AWS키 값 페어가 포함된 태그이며 콘솔, 명령줄 또는 API로 검색할 수 있습니다. 지정된 경우AWS tags-on-create 패턴을 따릅니다.
+ `SchemaDefinition` – 과(와) 일치하는 1\~170,000바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #13](aws-glue-api-common.md#regex_13)

  `DataFormat`에 대해 `SchemaName` 설정을 사용하는 스키마 정의입니다.

**응답**
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  레지스트리의 이름입니다.
+ `RegistryArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  레지스트리의 Amazon 리소스 이름(ARN)입니다.
+ `SchemaName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  스키마의 이름입니다.
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN).
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  스키마에 대한 설명입니다(생성 시 지정한 경우).
+ `DataFormat` – UTF-8 문자열입니다(유효한 값: `AVRO` \| `JSON` \| `PROTOBUF`).

  스키마 정의의 데이터 형식입니다. 현재 `AVRO`, `JSON` 및 `PROTOBUF`가 지원됩니다.
+ `Compatibility` – UTF-8 문자열입니다(유효한 값: `NONE` \| `DISABLED` \| `BACKWARD` \| `BACKWARD_ALL` \| `FORWARD` \| `FORWARD_ALL` \| `FULL` \| `FULL_ALL`).

  스키마 호환성 모드입니다.
+ `SchemaCheckpoint` - 1\~100,000의 숫자(정수)입니다.

  체크포인트의 버전 번호(호환성 모드가 마지막으로 변경된 시간)입니다.
+ `LatestSchemaVersion` - 1\~100,000의 숫자(정수)입니다.

  반환된 스키마 정의와 연결된 스키마의 최신 버전입니다.
+ `NextSchemaVersion` - 1\~100,000의 숫자(정수)입니다.

  반환된 스키마 정의와 연결된 스키마의 다음 버전입니다.
+ `SchemaStatus` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `DELETING`).

  스키마의 상태입니다.
+ `Tags` – 50개 이하의 페어로 구성된 키-값 페어의 맵 배열입니다.

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

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

  스키마의 태그입니다.
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  첫 번째 스키마 버전의 고유 식별자입니다.
+ `SchemaVersionStatus` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `FAILURE` \| `DELETING`).

  생성된 첫 번째 스키마 버전의 상태입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `AlreadyExistsException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentModificationException`
+ `ThrottlingException`
+ `InternalServiceException`

## GetSchema 작업(Python: get\_schema)
<a name="aws-glue-api-schema-registry-api-GetSchema"></a>

지정된 스키마를 자세히 설명합니다.

**요청**
+ `SchemaId` – *필수(Required):* [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 자격 증명 필드를 포함하는 래퍼 구조입니다. 구조에는 다음이 포함됩니다.
  + SchemaId$SchemaArn: 스키마의 Amazon 리소스 이름(ARN)입니다. `SchemaArn` 또는 `SchemaName` 및 `RegistryName`이 제공되어야 합니다.
  + SchemaId$SchemaName: 스키마의 이름입니다. `SchemaArn` 또는 `SchemaName` 및 `RegistryName`이 제공되어야 합니다.

**응답**
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  레지스트리의 이름입니다.
+ `RegistryArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  레지스트리의 Amazon 리소스 이름(ARN)입니다.
+ `SchemaName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  스키마의 이름입니다.
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN).
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  스키마에 대한 설명입니다(생성 시 지정한 경우).
+ `DataFormat` – UTF-8 문자열입니다(유효한 값: `AVRO` \| `JSON` \| `PROTOBUF`).

  스키마 정의의 데이터 형식입니다. 현재 `AVRO`, `JSON` 및 `PROTOBUF`가 지원됩니다.
+ `Compatibility` – UTF-8 문자열입니다(유효한 값: `NONE` \| `DISABLED` \| `BACKWARD` \| `BACKWARD_ALL` \| `FORWARD` \| `FORWARD_ALL` \| `FULL` \| `FULL_ALL`).

  스키마의 호환성 모드입니다.
+ `SchemaCheckpoint` - 1\~100,000의 숫자(정수)입니다.

  체크포인트의 버전 번호(호환성 모드가 마지막으로 변경된 시간)입니다.
+ `LatestSchemaVersion` - 1\~100,000의 숫자(정수)입니다.

  반환된 스키마 정의와 연결된 스키마의 최신 버전입니다.
+ `NextSchemaVersion` - 1\~100,000의 숫자(정수)입니다.

  반환된 스키마 정의와 연결된 스키마의 다음 버전입니다.
+ `SchemaStatus` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `DELETING`).

  스키마의 상태입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  스키마가 생성된 날짜 및 시간입니다.
+ `UpdatedTime` – UTF-8 문자열입니다.

  스키마가 업데이트된 날짜 및 시간입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ThrottlingException`
+ `InternalServiceException`

## ListSchemaVersions 작업(Python: list\_schema\_versions)
<a name="aws-glue-api-schema-registry-api-ListSchemaVersions"></a>

최소한의 정보로 생성한 스키마 버전 목록을 반환합니다. [삭제됨(Deleted)] 상태의 스키마 버전은 결과에 포함되지 않습니다. 사용 가능한 스키마 버전이 없으면 빈 결과가 반환됩니다.

**요청**
+ `SchemaId` – *필수(Required):* [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 자격 증명 필드를 포함하는 래퍼 구조입니다. 구조에는 다음이 포함됩니다.
  + SchemaId$SchemaArn: 스키마의 Amazon 리소스 이름(ARN)입니다. `SchemaArn` 또는 `SchemaName` 및 `RegistryName`이 제공되어야 합니다.
  + SchemaId$SchemaName: 스키마의 이름입니다. `SchemaArn` 또는 `SchemaName` 및 `RegistryName`이 제공되어야 합니다.
+ `MaxResults` – 1\~100의 숫자(정수)입니다.

  페이지당 필요한 최대 결과 수입니다. 값이 제공되지 않으면 페이지당 기본값이 25로 설정됩니다.
+ `NextToken` – UTF-8 문자열입니다.

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

**응답**
+ `Schemas` – [SchemaVersionListItem](#aws-glue-api-schema-registry-api-SchemaVersionListItem) 객체의 배열입니다.

  각 스키마 버전의 세부 정보를 포함하는 `SchemaVersionList` 객체의 배열입니다.
+ `NextToken` – UTF-8 문자열입니다.

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

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ThrottlingException`
+ `InternalServiceException`

## GetSchemaVersion 작업(Python: get\_schema\_version)
<a name="aws-glue-api-schema-registry-api-GetSchemaVersion"></a>

스키마 버전을 생성하거나 등록할 때 할당된 고유 ID로 지정된 스키마를 가져옵니다. [삭제됨(Deleted)] 상태의 스키마 버전은 결과에 포함되지 않습니다.

**요청**
+ `SchemaId` – [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 자격 증명 필드를 포함하는 래퍼 구조입니다. 구조에는 다음이 포함됩니다.
  + SchemaId$SchemaArn: 스키마의 Amazon 리소스 이름(ARN)입니다. `SchemaArn` 또는 `SchemaName` 및 `RegistryName`이 제공되어야 합니다.
  + SchemaId$SchemaName: 스키마의 이름입니다. `SchemaArn` 또는 `SchemaName` 및 `RegistryName`이 제공되어야 합니다.
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 `SchemaVersionId`입니다. 이 필드는 스키마 ID로 가져오기 위해 필요합니다. 이것 또는 `SchemaId` 래퍼를 제공해야 합니다.
+ `SchemaVersionNumber` – [SchemaVersionNumber](#aws-glue-api-schema-registry-api-SchemaVersionNumber) 객체입니다.

  스키마의 버전 번호입니다.

**응답**
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 `SchemaVersionId`입니다.
+ `SchemaDefinition` – 과(와) 일치하는 1\~170,000바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #13](aws-glue-api-common.md#regex_13)

  스키마 ID에 대한 스키마 정의입니다.
+ `DataFormat` – UTF-8 문자열입니다(유효한 값: `AVRO` \| `JSON` \| `PROTOBUF`).

  스키마 정의의 데이터 형식입니다. 현재 `AVRO`, `JSON` 및 `PROTOBUF`가 지원됩니다.
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN).
+ `VersionNumber` - 1\~100,000의 숫자(정수)입니다.

  스키마의 버전 번호입니다.
+ `Status` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `FAILURE` \| `DELETING`).

  스키마 버전의 상태입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  스키마 버전이 생성된 날짜 및 시간입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ThrottlingException`
+ `InternalServiceException`

## GetSchemaVersionsDiff 작업(Python: get\_schema\_versions\_diff)
<a name="aws-glue-api-schema-registry-api-GetSchemaVersionsDiff"></a>

Schema Registry에 저장된 두 스키마 버전 간에 지정된 차이 유형의 스키마 버전 차이를 가져옵니다.

이 API를 사용하면 동일한 스키마 아래의 두 스키마 정의 간에 두 스키마 버전을 비교할 수 있습니다.

**요청**
+ `SchemaId` – *필수(Required):* [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 자격 증명 필드를 포함하는 래퍼 구조입니다. 구조에는 다음이 포함됩니다.
  + SchemaId$SchemaArn: 스키마의 Amazon 리소스 이름(ARN)입니다. `SchemaArn` 또는 `SchemaName` 중 하나가 제공되어야 합니다.
  + SchemaId$SchemaName: 스키마의 이름입니다. `SchemaArn` 또는 `SchemaName` 중 하나가 제공되어야 합니다.
+ `FirstSchemaVersionNumber` – *필수(Required):* [SchemaVersionNumber](#aws-glue-api-schema-registry-api-SchemaVersionNumber) 객체입니다.

  비교할 두 스키마 버전 중 첫 번째 버전입니다.
+ `SecondSchemaVersionNumber` – *필수(Required):* [SchemaVersionNumber](#aws-glue-api-schema-registry-api-SchemaVersionNumber) 객체입니다.

  비교할 두 스키마 버전 중 두 번째 버전입니다.
+ `SchemaDiffType` – *필수:* UTF-8 문자열입니다(유효한 값: `SYNTAX_DIFF`).

  현재 지원되는 diff 유형인 `SYNTAX_DIFF`를 나타냅니다.

**응답**
+ `Diff` – 과(와) 일치하는 1\~340,000바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #13](aws-glue-api-common.md#regex_13)

  JsonPatch 포맷의 문자열로 스키마 간의 차이점입니다.

**오류**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `AccessDeniedException`
+ `ThrottlingException`
+ `InternalServiceException`

## ListRegistries 작업(Python: list\_registries)
<a name="aws-glue-api-schema-registry-api-ListRegistries"></a>

최소한의 레지스트리 정보로 생성한 레지스트리 목록을 반환합니다. `Deleting` 상태의 레지스트리는 결과에 포함되지 않습니다. 사용 가능한 레지스트리가 없으면 빈 결과가 반환됩니다.

**요청**
+ `MaxResults` – 1\~100의 숫자(정수)입니다.

  페이지당 필요한 최대 결과 수입니다. 값이 제공되지 않으면 페이지당 기본값이 25로 설정됩니다.
+ `NextToken` – UTF-8 문자열입니다.

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

**응답**
+ `Registries` – [RegistryListItem](#aws-glue-api-schema-registry-api-RegistryListItem) 객체의 배열입니다.

  각 레지스트리에 대한 최소한의 세부 정보를 포함하는 `RegistryDetailedListItem` 객체의 배열입니다.
+ `NextToken` – UTF-8 문자열입니다.

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

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `ThrottlingException`
+ `InternalServiceException`

## ListSchemas 작업(Python: list\_schemas)
<a name="aws-glue-api-schema-registry-api-ListSchemas"></a>

최소한의 세부 정보가 포함된 스키마 목록을 반환합니다. [삭제 중(Deleting)] 상태의 스키마는 결과에 포함되지 않습니다. 사용 가능한 스키마가 없으면 빈 결과가 반환됩니다.

`RegistryId`가 제공되지 않으면 레지스트리 전체의 모든 스키마가 API 응답의 일부가 됩니다.

**요청**
+ `RegistryId` – [RegistryId](#aws-glue-api-schema-registry-api-RegistryId) 객체입니다.

  레지스트리 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.
+ `MaxResults` – 1\~100의 숫자(정수)입니다.

  페이지당 필요한 최대 결과 수입니다. 값이 제공되지 않으면 페이지당 기본값이 25로 설정됩니다.
+ `NextToken` – UTF-8 문자열입니다.

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

**응답**
+ `Schemas` – [SchemaListItem](#aws-glue-api-schema-registry-api-SchemaListItem) 객체의 배열입니다.

  각 스키마의 세부 정보를 포함하는 `SchemaListItem` 객체의 배열입니다.
+ `NextToken` – UTF-8 문자열입니다.

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

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ThrottlingException`
+ `InternalServiceException`

## RegisterSchemaVersion 작업(Python: register\_schema\_version)
<a name="aws-glue-api-schema-registry-api-RegisterSchemaVersion"></a>

기존 스키마에 새 버전을 추가합니다. 새 버전의 스키마가 스키마 집합의 호환성 요구 사항을 충족하지 않는 경우 오류를 반환합니다. 이 API는 새 스키마 집합을 생성하지 않으며 스키마 집합이 Schema Registry에 아직 없는 경우 404 오류를 반환합니다.

이것이 Schema Registry에 등록되는 첫 번째 스키마 정의인 경우 이 API는 스키마 버전을 저장하고 즉시 반환합니다. 그렇지 않으면 이 호출은 호환성 모드로 인해 다른 작업보다 더 오래 실행될 가능성이 있습니다. `SchemaVersionId`로 `GetSchemaVersion` API를 호출하여 호환 모드를 확인할 수 있습니다.

동일한 스키마 정의가 이미 Schema Registry에 버전으로 저장되어 있는 경우 기존 스키마의 스키마 ID가 호출자에게 반환됩니다.

**요청**
+ `SchemaId` – *필수(Required):* [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 자격 증명 필드를 포함하는 래퍼 구조입니다. 구조에는 다음이 포함됩니다.
  + SchemaId$SchemaArn: 스키마의 Amazon 리소스 이름(ARN)입니다. `SchemaArn` 또는 `SchemaName` 및 `RegistryName`이 제공되어야 합니다.
  + SchemaId$SchemaName: 스키마의 이름입니다. `SchemaArn` 또는 `SchemaName` 및 `RegistryName`이 제공되어야 합니다.
+ `SchemaDefinition` – *필수(Required):* [Custom string pattern #13](aws-glue-api-common.md#regex_13)과(와) 일치하는 1\~170,000바이트 길이의 UTF-8 문자열입니다.

  `SchemaName`에 대해 `DataFormat` 설정을 사용하는 스키마 정의입니다.

**응답**
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  이 스키마의 버전을 나타내는 고유 ID입니다.
+ `VersionNumber` - 1\~100,000의 숫자(정수)입니다.

  이 스키마의 버전입니다(동기화 흐름 전용, 이것이 첫 번째 버전인 경우).
+ `Status` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `FAILURE` \| `DELETING`).

  스키마 버전의 상태입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ResourceNumberLimitExceededException`
+ `ThrottlingException`
+ `ConcurrentModificationException`
+ `InternalServiceException`

## UpdateSchema 작업(Python: update\_schema)
<a name="aws-glue-api-schema-registry-api-UpdateSchema"></a>

스키마 집합에 대한 설명, 호환성 설정 또는 버전 검사점을 업데이트합니다.

호환성 설정을 업데이트하기 위해 호출은 새 호환성 설정을 사용하여 전체 스키마 버전 집합에 대한 호환성을 확인하지 않습니다. `Compatibility` 값이 제공되면 `VersionNumber`(체크포인트)도 필요합니다. API는 일관성을 위해 체크포인트 버전 번호를 검증합니다.

`VersionNumber`(체크포인트) 값이 제공되면 `Compatibility`는 선택 사항이며 스키마에 대한 검사점을 설정/재설정하는 데 사용할 수 있습니다.

이 업데이트는 스키마가 AVAILABLE 상태인 경우에만 발생합니다.

**요청**
+ `SchemaId` – *필수(Required):* [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 자격 증명 필드를 포함하는 래퍼 구조입니다. 구조에는 다음이 포함됩니다.
  + SchemaId$SchemaArn: 스키마의 Amazon 리소스 이름(ARN)입니다. `SchemaArn` 또는 `SchemaName` 중 하나가 제공되어야 합니다.
  + SchemaId$SchemaName: 스키마의 이름입니다. `SchemaArn` 또는 `SchemaName` 중 하나가 제공되어야 합니다.
+ `SchemaVersionNumber` – [SchemaVersionNumber](#aws-glue-api-schema-registry-api-SchemaVersionNumber) 객체입니다.

  체크 포인팅에 필요한 버전 번호입니다. `VersionNumber` 또는 `Compatibility` 중 하나가 제공되어야 합니다.
+ `Compatibility` – UTF-8 문자열입니다(유효한 값: `NONE` \| `DISABLED` \| `BACKWARD` \| `BACKWARD_ALL` \| `FORWARD` \| `FORWARD_ALL` \| `FULL` \| `FULL_ALL`).

  스키마에 대한 새 호환성 설정입니다.
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  스키마에 대한 새 설명입니다.

**응답**
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN).
+ `SchemaName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  스키마의 이름입니다.
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  해당 스키마가 포함된 레지스트리의 이름입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ConcurrentModificationException`
+ `ThrottlingException`
+ `InternalServiceException`

## CheckSchemaVersionValidity 작업(Python: check\_schema\_version\_validity)
<a name="aws-glue-api-schema-registry-api-CheckSchemaVersionValidity"></a>

제공된 스키마를 검증합니다. 이 호출은 부작용이 없으며 단순히 `DataFormat`을 포맷으로 사용하여 제공된 스키마를 사용하여 검증합니다. 스키마 집합 이름을 사용하지 않으므로 호환성 검사가 수행되지 않습니다.

**요청**
+ `DataFormat` – *필수:* UTF-8 문자열입니다(유효한 값: `AVRO` \| `JSON` \| `PROTOBUF`).

  스키마 정의의 데이터 형식입니다. 현재 `AVRO`, `JSON` 및 `PROTOBUF`가 지원됩니다.
+ `SchemaDefinition` – *필수(Required):* [Custom string pattern #13](aws-glue-api-common.md#regex_13)과(와) 일치하는 1\~170,000바이트 길이의 UTF-8 문자열입니다.

  검증해야 하는 스키마의 정의입니다.

**응답**
+ `Valid` – 부울입니다.

  스키마가 유효하면 true를 반환하고 그렇지 않으면 false를 반환합니다.
+ `Error` – 1\~5,000바이트 길이의 UTF-8 문자열입니다.

  검증 실패 메시지입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `ThrottlingException`
+ `InternalServiceException`

## UpdateRegistry 작업(Python: update\_registry)
<a name="aws-glue-api-schema-registry-api-UpdateRegistry"></a>

스키마 컬렉션을 보유하는 데 사용되는 기존 레지스트리를 업데이트합니다. 업데이트된 속성은 레지스트리와 관련되며 레지스트리 내의 스키마를 수정하지 않습니다.

**요청**
+ `RegistryId` – *필수(Required):* [RegistryId](#aws-glue-api-schema-registry-api-RegistryId) 객체입니다.

  이는 레지스트리 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.
+ `Description` – *필수(Required):* [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다.

  레지스트리에 대한 설명입니다. 설명이 제공되지 않으면 이 필드는 업데이트되지 않습니다.

**응답**
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  업데이트된 레지스트리의 이름입니다.
+ `RegistryArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  업데이트된 레지스트리의 Amazon 리소스 이름(ARN)입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ConcurrentModificationException`
+ `ThrottlingException`
+ `InternalServiceException`

## GetSchemaByDefinition 작업(Python: get\_schema\_by\_definition)
<a name="aws-glue-api-schema-registry-api-GetSchemaByDefinition"></a>

`SchemaDefinition`으로 스키마를 검색합니다. 스키마 정의는 Schema Registry로 전송되고 정규화되고 해시됩니다. 해시가 `SchemaName` 또는 ARN의 범위 내에서 일치하는 경우(또는 제공되지 않은 경우 기본 레지스트리) 해당 스키마의 메타데이터가 반환됩니다. 그렇지 않으면 404 또는 NotFound 오류가 반환됩니다. `Deleted` 상태의 스키마 버전은 결과에 포함되지 않습니다.

**요청**
+ `SchemaId` – *필수(Required):* [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 자격 증명 필드를 포함하는 래퍼 구조입니다. 구조에는 다음이 포함됩니다.
  + SchemaId$SchemaArn: 스키마의 Amazon 리소스 이름(ARN)입니다. `SchemaArn` 또는 `SchemaName` 중 하나가 제공되어야 합니다.
  + SchemaId$SchemaName: 스키마의 이름입니다. `SchemaArn` 또는 `SchemaName` 중 하나가 제공되어야 합니다.
+ `SchemaDefinition` – *필수(Required):* [Custom string pattern #13](aws-glue-api-common.md#regex_13)과(와) 일치하는 1\~170,000바이트 길이의 UTF-8 문자열입니다.

  스키마 세부 정보가 필요한 스키마의 정의입니다.

**응답**
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 스키마 ID입니다.
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN).
+ `DataFormat` – UTF-8 문자열입니다(유효한 값: `AVRO` \| `JSON` \| `PROTOBUF`).

  스키마 정의의 데이터 형식입니다. 현재 `AVRO`, `JSON` 및 `PROTOBUF`가 지원됩니다.
+ `Status` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `FAILURE` \| `DELETING`).

  스키마 버전의 상태입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  스키마가 생성된 날짜 및 시간입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ThrottlingException`
+ `InternalServiceException`

## GetRegistry 작업(Python: get\_registry)
<a name="aws-glue-api-schema-registry-api-GetRegistry"></a>

지정된 레지스트리를 자세히 설명합니다.

**요청**
+ `RegistryId` – *필수(Required):* [RegistryId](#aws-glue-api-schema-registry-api-RegistryId) 객체입니다.

  이는 레지스트리 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.

**응답**
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  레지스트리의 이름입니다.
+ `RegistryArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  레지스트리의 Amazon 리소스 이름(ARN)입니다.
+ `Description` – 과(와) 일치하는 2,048바이트 이하 길이의 설명 문자열입니다..[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri)

  레지스트리에 대한 설명입니다.
+ `Status` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `DELETING`).

  레지스트리의 상태입니다.
+ `CreatedTime` – UTF-8 문자열입니다.

  레지스트리가 생성된 날짜 및 시간입니다.
+ `UpdatedTime` – UTF-8 문자열입니다.

  레지스트리가 업데이트된 날짜 및 시간입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `EntityNotFoundException`
+ `ThrottlingException`
+ `InternalServiceException`

## PutSchemaVersionMetadata 작업(Python: put\_schema\_version\_metadata)
<a name="aws-glue-api-schema-registry-api-PutSchemaVersionMetadata"></a>

지정된 스키마 버전 ID에 대한 메타데이터 키 값 페어를 넣습니다. 스키마 버전당 최대 10개의 키 값 페어가 허용됩니다. 하나 이상의 호출을 통해 추가할 수 있습니다.

**요청**
+ `SchemaId` – [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마의 고유 ID입니다.
+ `SchemaVersionNumber` – [SchemaVersionNumber](#aws-glue-api-schema-registry-api-SchemaVersionNumber) 객체입니다.

  스키마의 버전 번호입니다.
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 고유한 버전 ID입니다.
+ `MetadataKeyValue` – *필수(Required):* [MetadataKeyValuePair](#aws-glue-api-schema-registry-api-MetadataKeyValuePair) 객체입니다.

  메타데이터 키의 해당하는 값입니다.

**응답**
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN)입니다.
+ `SchemaName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  스키마의 이름입니다.
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  레지스트리의 이름입니다.
+ `LatestVersion` – 부울입니다.

  스키마의 최신 버전입니다.
+ `VersionNumber` - 1\~100,000의 숫자(정수)입니다.

  스키마의 버전 번호입니다.
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 고유한 버전 ID입니다.
+ `MetadataKey` – 과(와) 일치하는 1\~128바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #14](aws-glue-api-common.md#regex_14)

  메타데이터 키입니다.
+ `MetadataValue` –과(와) 일치하는 1\~256바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #14](aws-glue-api-common.md#regex_14)

  메타데이터 키의 값입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `AlreadyExistsException`
+ `EntityNotFoundException`
+ `ThrottlingException`
+ `ResourceNumberLimitExceededException`

## QuerySchemaVersionMetadata 작업(Python: query\_schema\_version\_metadata)
<a name="aws-glue-api-schema-registry-api-QuerySchemaVersionMetadata"></a>

스키마 버전 메타데이터 정보에 대한 쿼리입니다.

**요청**
+ `SchemaId` – [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.
+ `SchemaVersionNumber` – [SchemaVersionNumber](#aws-glue-api-schema-registry-api-SchemaVersionNumber) 객체입니다.

  스키마의 버전 번호입니다.
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 고유한 버전 ID입니다.
+ `MetadataList` – [MetadataKeyValuePair](#aws-glue-api-schema-registry-api-MetadataKeyValuePair) 객체의 배열입니다.

  메타데이터에 대한 키-값 페어를 검색합니다. 제공되지 않으면 모든 메타데이터 정보를 가져옵니다.
+ `MaxResults` – 1\~50의 숫자(정수)입니다.

  페이지당 필요한 최대 결과 수입니다. 값이 제공되지 않으면 페이지당 기본값이 25로 설정됩니다.
+ `NextToken` – UTF-8 문자열입니다.

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

**응답**
+ `MetadataInfoMap` – 키-값 페어의 맵 배열입니다.

  각 키는 [Custom string pattern #14](aws-glue-api-common.md#regex_14)과(와) 일치하는 1\~128바이트 길이의 UTF-8 문자열입니다.

  각 값은 [MetadataInfo](#aws-glue-api-schema-registry-api-MetadataInfo) 객체입니다.

  메타데이터 키 및 관련 값의 맵입니다.
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 고유한 버전 ID입니다.
+ `NextToken` – UTF-8 문자열입니다.

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

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `ThrottlingException`
+ `EntityNotFoundException`

## RemoveSchemaVersionMetadata 작업(Python: remove\_schema\_version\_metadata)
<a name="aws-glue-api-schema-registry-api-RemoveSchemaVersionMetadata"></a>

지정된 스키마 버전 ID에 대한 스키마 버전 메타데이터에서 키 값 페어를 제거합니다.

**요청**
+ `SchemaId` – [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  스키마 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.
+ `SchemaVersionNumber` – [SchemaVersionNumber](#aws-glue-api-schema-registry-api-SchemaVersionNumber) 객체입니다.

  스키마의 버전 번호입니다.
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전의 고유한 버전 ID입니다.
+ `MetadataKeyValue` – *필수(Required):* [MetadataKeyValuePair](#aws-glue-api-schema-registry-api-MetadataKeyValuePair) 객체입니다.

  메타데이터 키의 값입니다.

**응답**
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  스키마의 Amazon 리소스 이름(ARN).
+ `SchemaName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  스키마의 이름입니다.
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  레지스트리의 이름입니다.
+ `LatestVersion` – 부울입니다.

  스키마의 최신 버전입니다.
+ `VersionNumber` - 1\~100,000의 숫자(정수)입니다.

  스키마의 버전 번호입니다.
+ `SchemaVersionId` – 과(와) 일치하는 36바이트 이상 길이의 UTF-8 문자열입니다..[Custom string pattern #45](aws-glue-api-common.md#regex_45)

  스키마 버전에 대한 버전 ID입니다.
+ `MetadataKey` – 과(와) 일치하는 1\~128바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #14](aws-glue-api-common.md#regex_14)

  메타데이터 키입니다.
+ `MetadataValue` –과(와) 일치하는 1\~256바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #14](aws-glue-api-common.md#regex_14)

  메타데이터 키의 값입니다.

**오류**
+ `InvalidInputException`
+ `AccessDeniedException`
+ `ThrottlingException`
+ `EntityNotFoundException`

## DeleteRegistry 작업(Python: delete\_registry)
<a name="aws-glue-api-schema-registry-api-DeleteRegistry"></a>

스키마와 모든 해당 버전을 포함한 전체 레지스트리를 삭제합니다. 삭제 작업의 상태를 얻으려면 비동기 호출 후 `GetRegistry` API를 호출할 수 있습니다. 레지스트리를 삭제하면 `UpdateRegistry`, `CreateSchema`, `UpdateSchema` 및 `RegisterSchemaVersion` API와 같은 레지스트리에 대한 모든 온라인 작업이 비활성화됩니다.

**요청**
+ `RegistryId` – *필수(Required):* [RegistryId](#aws-glue-api-schema-registry-api-RegistryId) 객체입니다.

  이는 레지스트리 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.

**응답**
+ `RegistryName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  삭제되는 레지스트리의 이름입니다.
+ `RegistryArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  삭제 중인 레지스트리의 Amazon 리소스 이름(ARN)입니다.
+ `Status` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `DELETING`).

  레지스트리의 상태입니다. 작업이 성공하면 `Deleting` 상태가 반환됩니다.

**오류**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `AccessDeniedException`
+ `ThrottlingException`
+ `ConcurrentModificationException`

## DeleteSchema 작업(Python: delete\_schema)
<a name="aws-glue-api-schema-registry-api-DeleteSchema"></a>

스키마 집합 및 모든 해당 버전을 포함하여 전체 스키마 집합을 삭제합니다. 삭제 작업의 상태를 얻으려면 비동기 호출 후 `GetSchema` API를 호출할 수 있습니다. 레지스트리를 삭제하면 `GetSchemaByDefinition` 및 `RegisterSchemaVersion` API와 같은 스키마에 대한 모든 온라인 작업이 비활성화됩니다.

**요청**
+ `SchemaId` – *필수(Required):* [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  이는 스키마 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.

**응답**
+ `SchemaArn` – 과(와) 일치하는 1\~10,240바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #50](aws-glue-api-common.md#regex_50)

  삭제 중인 스키마의 Amazon 리소스 이름(ARN)입니다.
+ `SchemaName` – 과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다..[Custom string pattern #46](aws-glue-api-common.md#regex_46)

  삭제 중인 스키마의 이름입니다.
+ `Status` – UTF-8 문자열입니다(유효한 값: `AVAILABLE` \| `PENDING` \| `DELETING`).

  스키마의 상태입니다.

**오류**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `AccessDeniedException`
+ `ThrottlingException`
+ `ConcurrentModificationException`

## DeleteSchemaVersions 작업(Python: delete\_schema\_versions)
<a name="aws-glue-api-schema-registry-api-DeleteSchemaVersions"></a>

지정된 스키마에서 버전을 제거합니다. 버전 번호 또는 범위가 제공될 수 있습니다. 호환 모드가 BACKWARDS\_FULL과 같이 필요한 버전의 삭제를 금지하는 경우 오류가 반환됩니다. 이 호출 후 `GetSchemaVersions` API를 호출하면 삭제된 버전의 상태가 나열됩니다.

버전 번호 범위에 체크포인트 버전이 포함된 경우 API는 409 충돌을 반환하고 삭제를 진행하지 않습니다. 이 API를 사용하기 전에 먼저 `DeleteSchemaCheckpoint` API를 사용하여 체크포인트를 제거해야 합니다.

`DeleteSchemaVersions` API를 사용하여 스키마 집합의 첫 번째 스키마 버전을 삭제할 수 없습니다. 첫 번째 스키마 버전은 `DeleteSchema` API로만 삭제할 수 있습니다. 이 작업은 스키마 버전 아래에 첨부된 `SchemaVersionMetadata`도 삭제합니다. 영구 삭제는 데이터베이스에 적용됩니다.

호환 모드가 BACKWARDS\_FULL과 같이 필요한 버전의 삭제를 금지하는 경우 오류가 반환됩니다.

**요청**
+ `SchemaId` – *필수(Required):* [SchemaId](#aws-glue-api-schema-registry-api-SchemaId) 객체입니다.

  이는 스키마 이름과 Amazon 리소스 이름(ARN)을 포함할 수 있는 래퍼 구조입니다.
+ `Versions` – *필수(Required):* [Custom string pattern #15](aws-glue-api-common.md#regex_15)과(와) 일치하는 1\~100,000바이트 길이의 UTF-8 문자열입니다.

  다음 포맷의 버전 범위가 제공될 수 있습니다.
  + 단일 버전 번호, 5
  + 범위, 5\~8 : 버전 5, 6, 7, 8을 삭제합니다.

**응답**
+ `SchemaVersionErrors` – [SchemaVersionErrorItem](#aws-glue-api-schema-registry-api-SchemaVersionErrorItem) 객체의 배열입니다.

  각각 오류 및 스키마 버전을 포함하는 `SchemaVersionErrorItem` 객체 목록입니다.

**오류**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `AccessDeniedException`
+ `ThrottlingException`
+ `ConcurrentModificationException`