이 문서에서는 Pub/Sub 주제의 스키마를 검증하는 방법을 보여줍니다.
스키마 리소스를 만들기 전이나 후에 메시지가 특정 스키마를 준수하는지 검증할 수 있습니다. 이 단계에서는 스키마를 적용하기 전 스키마와 연결된 주제를 통해 전송하려는 메시지가 실제로 일치하는지 확인합니다.
시작하기 전에
- Pub/Sub 스키마의 작동 방식을 이해합니다.
- 스키마를 만듭니다.
필수 역할 및 권한
    
      스키마 메시지를 검증하고 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Pub/Sub 편집자  (roles/pubsub.editor) IAM 역할을 부여해 달라고 요청하세요.
  
  
  
  
  역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
  
  
이 사전 정의된 역할에는 스키마 메시지를 검증하고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
스키마 메시지를 검증하고 관리하려면 다음 권한이 필요합니다.
- 
                스키마 만들기: pubsub.schemas.create
- 
                주제에 스키마 연결: pubsub.schemas.attach
- 
                스키마 버전 커밋: pubsub.schemas.commit
- 
                스키마 또는 스키마 버전 삭제: pubsub.schemas.delete
- 
                스키마 또는 스키마 버전 가져오기: pubsub.schemas.get
- 
                스키마 나열: pubsub.schemas.list
- 
                스키마 버전 나열: pubsub.schemas.listRevisions
- 
                스키마 롤백: pubsub.schemas.rollback
- 
                메시지 유효성 검사: pubsub.schemas.validate
- 
                스키마의 IAM 정책 가져오기: pubsub.schemas.getIamPolicy
- 
                스키마의 IAM 정책 구성: pubsub.schemas.setIamPolicy
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
사용자, 그룹, 도메인, 서비스 계정과 같은 주 구성원에 역할 및 권한을 부여할 수 있습니다. 한 프로젝트에서 스키마를 만들고 이를 다른 프로젝트에 있는 주제에 연결할 수 있습니다. 각 프로젝트에 필요한 권한이 있는지 확인합니다.
스키마의 메시지 유효성 검사
콘솔
- Google Cloud 콘솔에서 Pub/Sub 스키마 페이지로 이동합니다. - 스키마 목록이 표시됩니다. 
- 기존 스키마의 스키마 ID를 클릭합니다. - 스키마의 스키마 세부정보 페이지가 열립니다. 
- 버전 섹션에서 메시지를 검증하려는 버전을 클릭합니다. 
- 세부정보 섹션에서 메시지 테스트를 클릭합니다. 
- 메시지 테스트 창에서 메시지 인코딩 유형을 선택합니다. 
- 메시지 본문에 테스트 메시지를 입력합니다. 
- 테스트를 클릭합니다. 
gcloud
- 
    
    In the Google Cloud console, activate Cloud Shell. At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize. 
-  스키마에 대해 메시지를 검증하려면 gcloud pubsub schema validate-message 명령어를 사용합니다.
gcloud pubsub schemas validate-message --message=MESSAGE \ --message-encoding=MESSAGE_ENCODING \ (--schema-name=SCHEMA_NAME | \ --type=TYPE \ (--definition=DEFINITION | \ --definition-file=DEFINITION_FILE))다음을 바꿉니다. - MESSAGE: 스키마에 대해 검증할 메시지입니다. 
- MESSAGE_ENCODING: 메시지 인코딩입니다. - binary또는- json값 중 하나를 지정합니다.
- SCHEMA_NAME: 기존 스키마의 이름 또는 전체 경로입니다. 
- TYPE: 인라인 스키마 유형입니다. - avro또는- protocol-buffer값 중 하나를 지정합니다.
- DEFINITION: 인라인 스키마 정의입니다. 
- DEFINITION_FILE: 스키마 정의가 포함된 파일입니다.