Aggiorna tipo di compatibilità

Quando crei una nuova versione dello schema, il registro di schema verifica che la nuova versione sia compatibile con le versioni precedenti. L'applicazione della compatibilità dello schema contribuisce a garantire che i produttori e i consumatori di dati continuino a funzionare correttamente man mano che la struttura dei dati si evolve.

  • I valori supportati per il tipo di compatibilità sono Backward, Backward transitive, Forward, Forward transitive, Full, Full transitive o None.

  • Il tipo di compatibilità viene gestito come oggetto JSON. Ad esempio:

    {
      "compatibility": "BACKWARD"
    }
    
  • Se non è impostato in modo esplicito, il tipo di compatibilità per un registro di schema è Backward per impostazione predefinita.

  • Se un tipo di compatibilità non è impostato su un soggetto, eredita il valore dal registro di schema.

  • Le configurazioni impostate a livello di soggetto sostituiscono quelle a livello di registro di schema.

  • L'aggiornamento del tipo di compatibilità influisce solo sulle nuove versioni dello schema registrate dopo l'aggiornamento.

Per ulteriori informazioni sui tipi di compatibilità, consulta Informazioni sul tipo di compatibilità.

Ruoli e autorizzazioni richiesti per aggiornare il tipo di compatibilità

Per ottenere le autorizzazioni necessarie per aggiornare il tipo di compatibilità per un registro di schema o un soggetto, chiedi all'amministratore di concederti il ruolo IAM Editor del registro di schema di Managed Kafka (roles/managedkafka.schemaRegistryEditor) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per aggiornare il tipo di compatibilità per un registro di schema o un soggetto. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per aggiornare il tipo di compatibilità per un registro di schema o un soggetto sono necessarie le seguenti autorizzazioni:

  • Concedi la seguente autorizzazione alla risorsa per cui vuoi aggiornare il tipo di compatibilità: managedkafka.config.update

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Aggiorna il tipo di compatibilità per un registro di schema

Console

Per aggiornare il tipo di compatibilità per l'intero registro di schema:

  1. Nella Google Cloud console, vai alla pagina Registri di schema.

    Vai a Registri di schema

    Viene visualizzato un elenco dei registri di schema nel tuo progetto.

  2. Fai clic sul nome del registro di schema per cui vuoi aggiornare il tipo di compatibilità.

    Viene visualizzata la pagina Dettagli registro di schema.

  3. Nella sezione dei dettagli principali del registro, individua l'impostazione Tipo di compatibilità e fai clic sull'icona Modifica accanto.

    Viene visualizzata la pagina Modifica tipo di compatibilità.

  4. Seleziona il valore dal menu a discesa Tipo di compatibilità.
  5. Fai clic su Salva.

gcloud

Per aggiornare il tipo di compatibilità per un registro di schema, utilizza il gcloud alpha managed-kafka schema-registries update comando.

  gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID 
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
  • SCHEMA_REGISTRY_ID: l'ID del registro di schema da aggiornare.
  • LOCATION: la regione del registro di schema.
  • COMPATIBILITY_TYPE: il nuovo tipo di compatibilità. I valori validi includono BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE o NONE.

Esempio: aggiorna il tipo di compatibilità del registro di schema test-registry nella regione us-central1 a FORWARD.

  gcloud alpha managed-kafka schema-registries update test-registry 
--location=us-central1
--compatibility=FORWARD

REST

Per aggiornare il tipo di compatibilità per un registro di schema, invia una richiesta PUT all'API REST.

Per prima cosa, richiedi un token di accesso:

gcloud auth application-default print-access-token

Quindi, invia una richiesta PUT all'endpoint di configurazione del registro:

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

Sostituisci i seguenti parametri del percorso:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud.
  • LOCATION: la regione in cui esiste il registro di schema.
  • SCHEMA_REGISTRY_ID: l'ID del registro di schema.

Includi il seguente oggetto JSON nel corpo della richiesta:

{
  "compatibility": "COMPATIBILITY_TYPE"
}

Sostituisci COMPATIBILITY_TYPE con un valore valido, ad esempio NONE, BACKWARD, FORWARD o FULL.

Se l'operazione ha esito positivo, l'API restituisce un codice di stato 200 OK.

Aggiorna il tipo di compatibilità per un soggetto

Console

Per aggiornare il tipo di compatibilità per un soggetto specifico:

  1. Nella Google Cloud console, vai alla pagina Registri di schema.

    Vai a Registri di schema

  2. Fai clic sul nome del registro di schema che contiene il soggetto.

    Viene visualizzata la pagina Dettagli registro di schema.

  3. Nella tabella Soggetti in questo registro di schema, fai clic sul nome del soggetto.
  4. Individua l'impostazione Tipo di compatibilità per il soggetto e fai clic sull'icona Modifica accanto.

    Viene visualizzata la pagina Modifica tipo di compatibilità.

  5. Seleziona il valore dal menu a discesa Tipo di compatibilità. La scelta di un valore qui sostituisce l'impostazione a livello di registro per questo soggetto.
  6. Fai clic su Salva.

gcloud

Per aggiornare il tipo di compatibilità per un soggetto, utilizza il gcloud alpha managed-kafka schema-registries subject update comando.

  gcloud alpha managed-kafka schema-registries subject update SUBJECT_ID 
--schema-registry=SCHEMA_REGISTRY_ID
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
  • SUBJECT_ID: l'ID del soggetto da aggiornare.
  • SCHEMA_REGISTRY_ID: l'ID del registro di schema che contiene il soggetto.
  • LOCATION: la regione del registro di schema.
  • COMPATIBILITY_TYPE: il nuovo tipo di compatibilità. I valori validi includono BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE o NONE.

Esempio: aggiorna il tipo di compatibilità del soggetto test-subject nel registro di schema test-registry nella regione us-central1 a FORWARD_TRANSITIVE.

  gcloud alpha managed-kafka schema-registries subject update test-subject 
--schema-registry=test-registry
--location=us-central1
--compatibility=FORWARD_TRANSITIVE

REST

Per aggiornare il tipo di compatibilità per un soggetto, invia una richiesta PUT all'API REST.

Per prima cosa, richiedi un token di accesso:

gcloud auth application-default print-access-token

Aggiorna la compatibilità per un soggetto nel contesto predefinito:

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

Aggiorna la compatibilità per un soggetto in un contesto specifico:

PUT https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries/SCHEMA_REGISTRY_ID/contexts/CONTEXT_ID/config/SUBJECT_ID

Sostituisci i seguenti parametri del percorso:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud.
  • LOCATION: la regione in cui esiste il registro di schema.
  • SCHEMA_REGISTRY_ID: l'ID del registro di schema.
  • SUBJECT_ID: l'ID del soggetto.
  • CONTEXT_ID: l'ID del contesto (se applicabile).

Includi il seguente oggetto JSON nel corpo della richiesta:

{
  "compatibility": "COMPATIBILITY_TYPE"
}

Sostituisci COMPATIBILITY_TYPE con un valore valido, ad esempio FORWARD_TRANSITIVE.

Esempio:imposta la compatibilità del soggetto user_events su FORWARD_TRANSITIVE.

Richiesta a PUT https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/config/user_events

Con il corpo:

{
  "compatibility": "FORWARD_TRANSITIVE"
}

Se l'operazione ha esito positivo, l'API restituisce un codice di stato 200 OK.

Passaggi successivi

Apache Kafka® è un marchio registrato di The Apache Software Foundation o delle sue affiliate negli Stati Uniti e/o in altri paesi.