Modifier le type de compatibilité

Lorsque vous créez une version de schéma, le registre de schémas vérifie qu'elle est compatible avec les versions précédentes. L'application de la compatibilité des schémas permet de s'assurer que les producteurs et les consommateurs de données continuent de fonctionner correctement à mesure que la structure des données évolue.

  • Les valeurs acceptées pour le type de compatibilité sont Backward, Backward transitive, Forward, Forward transitive, Full, Full transitive ou None.

  • Le type de compatibilité est géré en tant qu'objet JSON. Exemple :

    {
      "compatibility": "BACKWARD"
    }
    
  • Si le type de compatibilité d'un registre de schémas n'est pas défini explicitement, il est défini par défaut sur Backward.

  • Si aucun type de compatibilité n'est défini pour un sujet, il hérite de la valeur du registre de schémas.

  • Les configurations définies au niveau du sujet remplacent celles définies au niveau du registre de schémas.

  • La mise à jour du type de compatibilité n'affecte que les nouvelles versions de schéma enregistrées après la mise à jour.

Pour en savoir plus sur les types de compatibilité, consultez À propos du type de compatibilité.

Rôles et autorisations requis pour modifier le type de compatibilité

Pour obtenir les autorisations nécessaires pour mettre à jour le type de compatibilité d'un registre de schémas ou d'un sujet, demandez à votre administrateur de vous accorder le rôle IAM Éditeur de registre de schémas Kafka géré (roles/managedkafka.schemaRegistryEditor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour mettre à jour le type de compatibilité d'un registre de schémas ou d'un sujet. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour mettre à jour le type de compatibilité d'un registre de schémas ou d'un sujet :

  • Accordez l'autorisation suivante sur la ressource pour laquelle vous souhaitez mettre à jour le type de compatibilité : managedkafka.config.update

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Modifier le type de compatibilité d'un registre de schémas

Console

Pour mettre à jour le type de compatibilité pour l'ensemble du registre de schémas, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Registres de schémas.

    Accéder aux registres de schémas

    La liste des registres de schémas de votre projet s'affiche.

  2. Cliquez sur le nom du registre de schémas pour lequel vous souhaitez modifier le type de compatibilité.

    La page Détails du registre de schémas s'ouvre.

  3. Dans la section principale des détails du registre, recherchez le paramètre Type de compatibilité, puis cliquez sur l'icône Modifier à côté.

    La page Modifier le type de compatibilité s'ouvre.

  4. Dans le menu déroulant Type de compatibilité, sélectionnez la valeur.
  5. Cliquez sur Enregistrer.

gcloud

Pour mettre à jour le type de compatibilité d'un registre de schémas, utilisez la commande 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 : ID du registre de schémas à mettre à jour.
  • LOCATION : région du registre de schémas.
  • COMPATIBILITY_TYPE : nouveau type de compatibilité. Les valeurs valides incluent BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE ou NONE.

Exemple : Mettez à jour le type de compatibilité du registre de schémas test-registry dans la région us-central1 sur FORWARD.

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

REST

Pour mettre à jour le type de compatibilité d'un registre de schémas, envoyez une requête PUT à l'API REST.

Commencez par obtenir un jeton d'accès :

gcloud auth application-default print-access-token

Envoyez ensuite une requête PUT au point de terminaison de configuration du registre :

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

Remplacez les paramètres de chemin d'accès suivants :

  • PROJECT_ID : ID de votre projet Google Cloud.
  • LOCATION : région où se trouve le registre de schémas.
  • SCHEMA_REGISTRY_ID : ID du registre de schémas.

Incluez l'objet JSON suivant dans le corps de la requête :

{
  "compatibility": "COMPATIBILITY_TYPE"
}

Remplacez COMPATIBILITY_TYPE par une valeur valide, telle que NONE, BACKWARD, FORWARD ou FULL.

Si l'opération réussit, l'API renvoie un code d'état 200 OK.

Modifier le type de compatibilité pour un sujet

Console

Pour modifier le type de compatibilité d'un sujet spécifique, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Registres de schémas.

    Accéder aux registres de schémas

  2. Cliquez sur le nom du registre de schémas contenant le sujet.

    La page Détails du registre de schémas s'ouvre.

  3. Dans le tableau Sujets dans ce registre de schémas, cliquez sur le nom du sujet.
  4. Recherchez le paramètre Type de compatibilité pour le sujet, puis cliquez sur l'icône Modifier à côté.

    La page Modifier le type de compatibilité s'ouvre.

  5. Dans le menu déroulant Type de compatibilité, sélectionnez la valeur. Si vous choisissez une valeur ici, elle remplacera le paramètre au niveau du registre pour ce sujet.
  6. Cliquez sur Enregistrer.

gcloud

Pour mettre à jour le type de compatibilité d'un sujet, utilisez la commande 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 : ID du sujet à mettre à jour.
  • SCHEMA_REGISTRY_ID : ID du registre de schémas contenant le sujet.
  • LOCATION : région du registre de schémas.
  • COMPATIBILITY_TYPE : nouveau type de compatibilité. Les valeurs valides incluent BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE ou NONE.

Exemple : Mettez à jour le type de compatibilité du sujet test-subject dans le registre de schémas test-registry de la région us-central1 sur FORWARD_TRANSITIVE.

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

REST

Pour mettre à jour le type de compatibilité d'un sujet, envoyez une requête PUT à l'API REST.

Commencez par obtenir un jeton d'accès :

gcloud auth application-default print-access-token

Mettre à jour la compatibilité d'un sujet dans le contexte par défaut :

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

Mettre à jour la compatibilité d'un sujet dans un contexte spécifique :

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

Remplacez les paramètres de chemin d'accès suivants :

  • PROJECT_ID : ID de votre projet Google Cloud.
  • LOCATION : région où se trouve le registre de schémas.
  • SCHEMA_REGISTRY_ID : ID du registre de schémas.
  • SUBJECT_ID : ID du sujet.
  • CONTEXT_ID : ID du contexte (le cas échéant).

Incluez l'objet JSON suivant dans le corps de la requête :

{
  "compatibility": "COMPATIBILITY_TYPE"
}

Remplacez COMPATIBILITY_TYPE par une valeur valide, telle que FORWARD_TRANSITIVE.

Exemple : Définis la compatibilité de la matière user_events sur FORWARD_TRANSITIVE.

Demande envoyée à PUT https://managedkafka.googleapis.com/v1main/projects/test-project/locations/us-central1/schemaRegistries/test_registry/config/user_events

Avec corps :

{
  "compatibility": "FORWARD_TRANSITIVE"
}

Si l'opération réussit, l'API renvoie un code d'état 200 OK.

Étapes suivantes

Apache Kafka® est une marque déposée d'Apache Software Foundation ou de ses filiales aux États-Unis et/ou dans d'autres pays.