You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by GitBox <gi...@apache.org> on 2019/12/12 12:47:00 UTC

[GitHub] [pulsar-client-node] danielfigueiredo opened a new issue #61: Support for Avro schema on `createProducer`

danielfigueiredo opened a new issue #61: Support for Avro schema on `createProducer`
URL: https://github.com/apache/pulsar-client-node/issues/61
 
 
   Would it be possible to add a `schema` property on the config object that initializes `createProducer`? Similar to what Python does, we could initialize [avro-js](https://www.npmjs.com/package/avro-js) with the JSON schema and call `type.getSchema()` to initialize the producer.
   
   Having to disable schema validation on topics isn't ideal for some cases and I think only Java and Python are the clients that have schema support.
   
   A pseudo code would look like:
   
   ```js
       const client = new Pulsar.Client({
         serviceUrl: 'pulsar://localhost:6650',
       });
   
       const type = avro.parse({
         name: 'Pet',
         type: 'record',
         fields: [
           {name: 'kind', type: {name: 'Kind', type: 'enum', symbols: ['CAT', 'DOG']}},
           {name: 'name', type: 'string'}
         ]
       });
   
       const producer = await client.createProducer({
         topic: 'persistent://public/default/my-topic',
         schema: type.getSchema(),
       });
   ```
   
   I'm not sure if the schema validation happens on the client when creating the producer, even if that is the case `avro-js` has methods to check whether JS objects are valid for a given schema.
   
   On that same line, alternatively, is there any guidelines on how to implement a client? What makes it more difficult for me is that I don't know c++ and I would like to contribute with the JS library (specially Typescript).

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services