[question] python jsonschema cant inheritance

Ouverte
#106 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python

Piste de recherche

Commencez par reproduire l’exemple de producteur et de consommateur en utilisant JsonSchema(TaskOffline2OnlineMsg), y compris le champ task_ids hérité. Examinez la manière dont l’implémentation Python du schéma traite TaskOffline2OnlineMsg et BaseTaskOperateMsg, puis vérifiez si le consommateur peut récupérer task_ids et documentez le résultat ou identifiez la correction requise.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

schema


class BaseTaskOperateMsg(Record):
    task_ids = Array(Integer())


class TaskOffline2OnlineMsg(BaseTaskOperateMsg):
    pass

producer

client = pulsar.Client("pulsar://localhost:6650")
producer = client.create_producer(
    topic="taskOffline2Online1",
    schema=JsonSchema(TaskOffline2OnlineMsg),
)
msg = TaskOffline2OnlineMsg(task_ids=[1, 2])
producer.send(msg)
client.close()

consumer

client = pulsar.Client("pulsar://localhost:6650")


consumer = client.subscribe("taskOffline2Online1", "sub1", schema=JsonSchema(TaskOffline2OnlineMsg))

while True:
    msg = consumer.receive()
    try:
        print("Received message '{}' id='{}'".format(msg.data(), msg.message_id()))
        print(msg.value())
        # Acknowledge successful processing of the message
        consumer.acknowledge(msg)
    except Exception:
        # Message failed to be processed
        consumer.negative_acknowledge(msg)
    break

when using TaskOffline2OnlineMsg, i cant get task_ids.

Langage dominant
C++
Étoiles
72
Forks
93
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/pulsar-client-cpp

Toutes les issues de apache/pulsar-client-cpp

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.