스키마 모드 업데이트

스키마 모드는 스키마 레지스트리 또는 특정 주제에서 스키마 쓰기 또는 수정과 같은 변경사항을 허용하는지 여부를 정의합니다.

  • 스키마 모드에 지원되는 값은 ReadonlyReadwrite입니다.

  • 스키마 모드는 키-값 쌍이 포함된 JSON 객체로 관리됩니다. 예를 들어 다음은 샘플입니다.

    {
      "mode": "READWRITE"
    }
    
  • 스키마 레지스트리 수준에서 명시적으로 설정하지 않으면 스키마 모드는 기본적으로 Readwrite로 설정됩니다.

  • 스키마 모드가 주제 수준에서 명시적으로 지정되지 않은 경우 스키마 레지스트리의 값을 상속합니다.

  • 주체 수준에서 설정된 구성은 스키마 레지스트리 수준에서 설정된 구성을 재정의합니다.

값을 포함한 스키마 모드에 관한 자세한 내용은 스키마 모드를 참고하세요.

스키마 모드를 업데이트하는 데 필요한 역할 및 권한

스키마 레지스트리 또는 주제의 스키마 모드를 업데이트하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 관리형 Kafka 스키마 레지스트리 편집자 (roles/managedkafka.schemaRegistryEditor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 스키마 레지스트리 또는 주제의 스키마 모드를 업데이트하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

스키마 레지스트리 또는 주제의 스키마 모드를 업데이트하려면 다음 권한이 필요합니다.

  • 모드를 업데이트하려는 리소스에 다음 권한을 부여합니다. managedkafka.mode.update

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

Apache Kafka용 관리형 서비스에 사용할 수 있는 사전 정의된 역할에 대한 자세한 내용은 액세스 제어 문서를 참고하세요.

스키마 레지스트리의 스키마 모드 업데이트

콘솔

전체 스키마 레지스트리의 스키마 모드를 업데이트하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 스키마 레지스트리 페이지로 이동합니다.

    스키마 레지스트리로 이동

    프로젝트의 스키마 레지스트리 목록이 표시됩니다.

  2. 스키마 모드를 업데이트할 스키마 레지스트리의 이름을 클릭합니다.

    스키마 레지스트리 세부정보 페이지가 열립니다.

  3. 레지스트리의 기본 세부정보 섹션에서 스키마 모드 설정을 찾아 옆에 있는 수정 아이콘을 클릭합니다.

    스키마 수정 모드 페이지가 열립니다.

  4. 스키마 모드 드롭다운 메뉴에서 값을 선택합니다.

    이러한 값에 대한 자세한 내용은 스키마 모드 정보를 참고하세요.

  5. 저장을 클릭합니다.

gcloud

스키마 레지스트리의 스키마 모드를 업데이트하려면 gcloud alpha managed-kafka schema-registries update 명령어를 사용합니다.

gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID \
    --location=LOCATION \
    --mode=MODE_TYPE
  • SCHEMA_REGISTRY_ID: 업데이트할 스키마 레지스트리의 ID입니다.
  • LOCATION: 업데이트할 스키마 레지스트리의 리전입니다.
  • MODE_TYPE: 새 스키마 모드입니다. 유효한 값은 다음과 같습니다.
    • READWRITE
    • READONLY

예:

us-central1 리전의 test-registry 스키마 레지스트리의 스키마 모드를 READONLY로 업데이트하려면 다음 명령어를 실행합니다.

gcloud alpha managed-kafka schema-registries update test-registry \
    --location=us-central1 \
    --mode=READONLY

REST

요청은 Authorization 헤더의 액세스 토큰으로 인증해야 합니다. 현재 애플리케이션 기본 사용자 인증 정보의 액세스 토큰을 얻으려면 gcloud auth application-default print-access-token을 실행합니다.

스키마 모드를 업데이트하려면 projects.locations.schemaRegistries.contexts.mode.update 메서드를 사용하여 스키마 레지스트리의 REST API 엔드포인트에 PUT 요청을 수행합니다.

기본 컨텍스트로 스키마 레지스트리의 스키마 모드를 업데이트합니다.

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/mode

다음 경로 매개변수를 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • LOCATION: 스키마 레지스트리가 있는 리전입니다.
  • SCHEMA_REGISTRY_ID: 스키마 레지스트리의 고유 ID입니다.

요청 본문:

모드 세부정보를 지정하는 JSON 객체를 요청 본문에 포함합니다.

{
  "mode": "MODE_TYPE"
}

MODE_TYPE을 모드의 유효한 문자열 옵션 중 하나로 바꿉니다.

  • READWRITE
  • READONLY

성공하면 API는 200 OK 상태 코드와 업데이트된 모드 구성의 JSON 표현이 포함된 응답 본문을 반환합니다.

자세한 내용은 REST API 문서를 참고하세요.

주제의 스키마 모드 업데이트

콘솔

특정 주제의 스키마 모드를 업데이트하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 스키마 레지스트리 페이지로 이동합니다.

    스키마 레지스트리로 이동

  2. 주제가 포함된 스키마 레지스트리의 이름을 클릭합니다.

    스키마 레지스트리 세부정보 페이지가 열립니다.

  3. Subjects in this schema registry(이 스키마 레지스트리의 주제) 표에서 스키마 모드를 업데이트하려는 주제의 이름을 클릭합니다.
  4. 주제의 스키마 모드 설정을 찾아 옆에 있는 수정 아이콘을 클릭합니다.

    스키마 수정 모드 페이지가 열립니다.

  5. 스키마 모드 드롭다운 메뉴에서 값을 선택합니다. 여기에서 값을 선택하면 이 특정 주제의 레지스트리 수준 설정이 재정의됩니다.

    이러한 값에 대한 자세한 내용은 스키마 모드 정보를 참고하세요.

  6. 저장을 클릭합니다.

gcloud

주제의 스키마 모드를 업데이트하려면 gcloud alpha managed-kafka schema-registries subject update 명령어를 사용합니다.

gcloud alpha managed-kafka schema-registries subject update SUBJECT_NAME \
    --schema-registry=SCHEMA_REGISTRY_ID \
    --location=LOCATION \
    --mode=MODE_TYPE
  • SUBJECT_NAME: 업데이트할 주제의 이름입니다.
  • SCHEMA_REGISTRY_ID: 주제가 포함된 스키마 레지스트리의 ID입니다.
  • LOCATION: 주제가 포함된 스키마 레지스트리의 리전입니다.
  • MODE_TYPE: 새 스키마 모드입니다. 유효한 값은 다음과 같습니다.
    • READWRITE
    • READONLY

예:

us-central1 리전의 test-registry 스키마 레지스트리에서 test-subject 주제의 스키마 모드를 READONLY로 업데이트하려면 다음 명령어를 실행합니다.

gcloud alpha managed-kafka schema-registries subject update test-subject \
    --schema-registry=test-registry \
    --location=us-central1 \
    --mode=READONLY

REST

요청은 Authorization 헤더의 액세스 토큰으로 인증해야 합니다. 현재 애플리케이션 기본 사용자 인증 정보의 액세스 토큰을 얻으려면 gcloud auth application-default print-access-token을 실행합니다.

주체의 스키마 모드를 업데이트하려면 projects.locations.schemaRegistries.contexts.mode.update 메서드를 사용하여 특정 주체의 REST API 엔드포인트에 PUT 요청을 합니다.

기본 컨텍스트에서 주제의 스키마 모드를 업데이트합니다.

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/mode/SUBJECT_NAME

다음 경로 매개변수를 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • LOCATION: 스키마 레지스트리가 있는 리전입니다.
  • SCHEMA_REGISTRY_ID: 스키마 레지스트리의 고유 ID입니다.
  • SUBJECT_NAME: 주제 이름

요청 본문:

모드 세부정보를 지정하는 JSON 객체를 요청 본문에 포함합니다.

{
  "mode": "MODE_TYPE"
}

MODE_TYPE을 모드의 유효한 문자열 옵션 중 하나로 바꿉니다.

  • READWRITE
  • READONLY

예 - 기본 컨텍스트에서 주제 user_events 스키마 모드를 Readonly로 설정합니다.

PUT https://managedkafka.googleapis.com/v1main/projects/test-gcp-project/locations/us-east1/schemaRegistries/main_registry/mode/user_events에 요청

본문 포함:

{
  "mode": "READONLY"
}

성공하면 API는 200 OK 상태 코드와 이 변경사항을 반영하는 업데이트된 주제 또는 컨텍스트 리소스의 JSON 표현이 포함된 응답 본문을 반환합니다.

특정 컨텍스트에서 주제의 스키마 모드 업데이트:

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/contexts/CONTEXT_NAME/mode/SUBJECT_NAME

다음 경로 매개변수를 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • LOCATION: 스키마 레지스트리가 있는 리전입니다.
  • SCHEMA_REGISTRY_ID: 스키마 레지스트리의 고유 ID입니다.
  • CONTEXT_NAME: 컨텍스트의 이름입니다.
  • SUBJECT_NAME: 주제 이름

요청 본문:

모드 세부정보를 지정하는 JSON 객체를 요청 본문에 포함합니다.

{
  "mode": "MODE_TYPE"
}

MODE_TYPE을 모드의 유효한 문자열 옵션 중 하나로 바꿉니다.

  • READWRITE
  • READONLY

예—컨텍스트 test_context에서 주제 user_events 스키마 모드를 Readonly로 설정합니다.

PUT https://managedkafka.googleapis.com/v1main/projects/test-gcp-project/locations/us-east1/schemaRegistries/main_registry/contexts/test_context/mode/user_events에 요청

본문 포함:

{
  "mode": "READONLY"
}

성공하면 API는 200 OK 상태 코드와 이 변경사항을 반영하는 업데이트된 주제 또는 컨텍스트 리소스의 JSON 표현이 포함된 응답 본문을 반환합니다.

자세한 내용은 REST API 문서를 참고하세요.

다음 단계

Apache Kafka®는 미국 및/또는 다른 국가에서 사용되는 Apache Software Foundation 또는 해당 계열사의 등록 상표입니다.