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 schemi è impostato per impostazione predefinita su Backward.

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

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

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

Per ulteriori informazioni sui tipi di compatibilità, vedi 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 argomento, chiedi all'amministratore di concederti il ruolo IAM Editor del registro di schema 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 degli schemi 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 degli schemi o un soggetto sono necessarie le seguenti autorizzazioni:

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

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

Aggiornare il tipo di compatibilità per un registro di schemi

Console

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

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

    Vai a Registri di schema

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

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

    Viene visualizzata la pagina Dettagli registro 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. Dal menu a discesa Tipo di compatibilità, seleziona il valore.
  5. Fai clic su Salva.

gcloud

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

  gcloud alpha managed-kafka schema-registries update SCHEMA_REGISTRY_ID 
--location=LOCATION
--compatibility=COMPATIBILITY_TYPE
  • SCHEMA_REGISTRY_ID: l'ID del registro degli schemi da aggiornare.
  • LOCATION: la regione del registro degli schemi.
  • 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 schemi, invia una richiesta PUT all'API REST.

Per prima cosa, ottieni un token di accesso:

gcloud auth application-default print-access-token

Dopodiché, 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 di percorso:

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

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.

In caso di esito positivo, l'API restituisce un codice di stato 200 OK.

Aggiornare il tipo di compatibilità per un soggetto

Console

Per aggiornare il tipo di compatibilità per una materia specifica:

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

    Vai a Registri di schema

  2. Fai clic sul nome del registro dello schema che contiene l'argomento.

    Viene visualizzata la pagina Dettagli registro schema.

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

    Viene visualizzata la pagina Modifica tipo di compatibilità.

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

gcloud

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

  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 l'argomento.
  • LOCATION: la regione del registro degli schemi.
  • 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, ottieni 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 di percorso:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud.
  • LOCATION: la regione in cui esiste il registro degli schemi.
  • SCHEMA_REGISTRY_ID: l'ID del registro degli schemi.
  • 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 corpo:

{
  "compatibility": "FORWARD_TRANSITIVE"
}

In caso di esito positivo, l'API restituisce un codice di stato 200 OK.

Passaggi successivi

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