Pub/Sub 스키마는 Pub/Sub 메시지에서 데이터 필드 형식을 적용하는 데 사용할 수 있는 선택적 기능입니다.
스키마는 메시지 형식에 대한 게시자와 구독자 간의 계약을 만듭니다. Pub/Sub는 이 형식을 적용합니다. 스키마는 메시지 유형 및 권한을 위한 중앙 권한을 만들어 조직 내 데이터 스트림의 팀 간 소비를 용이하게 합니다. Pub/Sub 메시지 스키마는 메시지의 필드 이름 및 데이터 유형을 정의합니다.
스키마를 만들고 주제와 연결하여 게시된 메시지에 스키마를 적용할 수 있습니다. 특정 메시지가 스키마를 준수하지 않으면 메시지가 게시되지 않습니다. 또한 스키마의 추가 버전을 만들 수 있습니다.
스키마 유형
다음 프레임워크 중 하나를 사용하여 Pub/Sub에 스키마를 만들 수 있습니다.
예를 들어 다음 스키마는 웨어하우스 인벤토리를 Avro 형식으로 먼저 정의한 후 프로토콜 버퍼 형식으로 다시 정의합니다.
Apache Avro 형식
{
"type" : "record",
"name" : "Avro",
"fields" : [
{
"name" : "ProductName",
"type" : "string",
"default": ""
},
{
"name" : "SKU",
"type" : "int",
"default": 0
},
{
"name" : "InStock",
"type" : "boolean",
"default": false
}
]
}
프로토콜 버퍼 형식
syntax = "proto3";
message ProtocolBuffer {
string product_name = 1;
int32 SKU = 2;
bool in_stock = 3;
}
스키마에 대한 중요한 정보
다음은 Pub/Sub 스키마 생성 및 관리와 관련된 몇 가지 중요한 정보입니다.
Pub/Sub에서 스키마를 사용하려면 최상위 유형을 하나만 정의해야 합니다. 다른 유형을 참조하는 가져오기 문은 지원되지 않습니다.
동일한 스키마를 여러 주제에 연결할 수 있습니다.
스키마에 대해 메시지 검증 여부를 수동으로 테스트할 수 있습니다.
스키마 할당량 및 한도
스키마에는 다음과 같은 제한이 있습니다.
스키마 정의 필드는 크기가 300KB를 초과할 수 없습니다.
프로젝트는 최대 10,000개의 스키마를 포함할 수 있습니다.
단일 스키마는 20개 넘는 버전을 포함할 수 없습니다.
Pub/Sub와 관련된 스키마 및 한도에 대한 자세한 내용은 Pub/Sub 할당량 및 한도를 참조하세요.