Ah, got it, Matt. That's what I was suspecting but wanted to avoid and see 
if there is any way around it. Thanks for patiently understanding and 
responding to my queries!

Thanks,
Vikas

On Monday, August 8, 2022 at 10:35:55 AM UTC-7 [email protected] wrote:

> Vikas~
>
> You are asking how to dynamically compile a .proto message into a 
> descriptor that you can load at runtime.  I don't have a good answer here 
> short of launching `protoc` as a subprocess.
>
> Matt
>
> On Mon, Aug 8, 2022 at 1:29 PM Vikas Dahiya <[email protected]> wrote:
>
>> Thanks, Matt!
>>
>> The schema I have is in string format. Here is the snippet of the same
>>
>> syntax = "proto3";
>> package com.company.qna.enriched;
>>
>> import "imports/user/token_status.proto";
>> import "validate/validate.proto";
>> import "google/protobuf/timestamp.proto";
>>
>> message QuestionViewEnriched {
>>   string event_id = 1 [(validate.rules).string.uuid = true];
>>   string source = 2 [(validate.rules).string.min_len = 3];
>>   string event_type = 3 [(validate.rules).string.prefix = "com.chegg"];
>>   .google.protobuf.Timestamp event_time = 4;
>>   string chegg_user_uuid = 21 [(validate.rules).string.uuid = true];
>>   string chegg_visitor_id = 22 [(validate.rules).string.uuid = true];
>>   string chegg_session_id = 23;
>>   string client_ip_address = 24 [(validate.rules).string.ip = true];
>>   string user_agent = 25 [(validate.rules).string.well_known_regex = 
>> HTTP_HEADER_VALUE];
>>   string language = 26 [(validate.rules).string.well_known_regex = 
>> HTTP_HEADER_VALUE];
>>   string experiments = 27;
>>   bool is_internal_user = 28;
>>   string device_class = 29;
>>   com.company.user.TokenStatus access_token_status = 30;
>>   com.company.user.TokenStatus id_token_status = 31;
>>   string url = 41;
>>   string referral_url = 42;
>> }
>>
>> On Saturday, August 6, 2022 at 1:20:20 PM UTC-7 [email protected] wrote:
>>
>>> Vikas~
>>>
>>> I suspect your best bet is:
>>>
>>> ```
>>> Schema<?> s = ....
>>> Object o = s.newInstance();
>>> if (o instanceof MessageOrBuilder) {
>>>     return ((MessageOrBuilder)o).getDescriptorForType();
>>> }
>>> return nullptr;
>>> ```
>>>
>>> If you are using the JavaLite runtime, you may not have descriptor 
>>> information available, so this can produce nullptr.
>>>
>>> Matt
>>>
>>> On Sat, Aug 6, 2022 at 4:13 PM Vikas Dahiya <[email protected]> wrote:
>>>
>>>> Matt,
>>>>
>>>> Kafka APIs really don't have to do anything here. Think of it as a 
>>>> problem: I got a schema from any random place (in this case it's a schema 
>>>> registry), and now I need to use this schema to create an Object to use in 
>>>> my system. I don't have generated java classes at my disposal. So I am 
>>>> looking to get the descriptor to create an Object out of this schema. Hope 
>>>> that helps to understand the problem. 
>>>>
>>>> Thanks,
>>>> Vikas
>>>> On Saturday, August 6, 2022 at 1:05:00 PM UTC-7 [email protected] wrote:
>>>>
>>>>> Vikas~
>>>>>
>>>>> I don't really know the Kafka APIs, but it might be better to ask on 
>>>>> one of their lists or maybe stack overflow.
>>>>>
>>>>> Matt
>>>>>
>>>>> On Sat, Aug 6, 2022 at 3:57 PM Vikas Dahiya <[email protected]> 
>>>>> wrote:
>>>>>
>>>>>> Matt, I am using kafka, I don’t have a code snippet as I am just 
>>>>>> getting the schema from confulant schema registry and need a descriptor 
>>>>>> to 
>>>>>> create the object. I can share the schema snippet if that can help.
>>>>>>
>>>>>> Vikas
>>>>>>
>>>>>> On Sat, Aug 6, 2022 at 12:30 PM Matthew Fowles Kulukundis <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Vikas~
>>>>>>>
>>>>>>> Do you have links to your code or snippets you can share?  Are you 
>>>>>>> using kafka or AWS schema registry or something?
>>>>>>>
>>>>>>> Matt
>>>>>>>
>>>>>>> On Sat, Aug 6, 2022 at 3:23 PM Vikas Dahiya <[email protected]> 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Matt, I am using Java.
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>> Vikas
>>>>>>>>
>>>>>>>> On Saturday, August 6, 2022 at 11:57:25 AM UTC-7 [email protected] 
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Vikas~
>>>>>>>>>
>>>>>>>>> What language are you using (C++, Java, Python, etc)?
>>>>>>>>>
>>>>>>>>> Matt
>>>>>>>>>
>>>>>>>>> On Fri, Aug 5, 2022 at 5:14 PM Vikas Dahiya <[email protected]> 
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> I have an in memory proto schema which I am reading from the 
>>>>>>>>>> schema registry. I am looking for a way or the best way if there are 
>>>>>>>>>> more 
>>>>>>>>>> than one, to get the descriptor for this schema. How can I do that? 
>>>>>>>>>> I am 
>>>>>>>>>> new to protobuf and pardon me if the provided information is not 
>>>>>>>>>> sufficient, but I can provide any required additional details.
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>>>>>> You received this message because you are subscribed to the 
>>>>>>>>>> Google Groups "Protocol Buffers" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>>> send an email to [email protected].
>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>> https://groups.google.com/d/msgid/protobuf/3b2a5728-549b-4c19-a1b2-4811b0124f8cn%40googlegroups.com
>>>>>>>>>>  
>>>>>>>>>> <https://groups.google.com/d/msgid/protobuf/3b2a5728-549b-4c19-a1b2-4811b0124f8cn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>> Groups "Protocol Buffers" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>> send an email to [email protected].
>>>>>>>
>>>>>>>
>>>>>>>> To view this discussion on the web visit 
>>>>>>>> https://groups.google.com/d/msgid/protobuf/b87d55ad-1bfe-4378-9355-e43a55f47003n%40googlegroups.com
>>>>>>>>  
>>>>>>>> <https://groups.google.com/d/msgid/protobuf/b87d55ad-1bfe-4378-9355-e43a55f47003n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Protocol Buffers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>>
>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/protobuf/1f6e5388-75ed-4a06-944e-0efce86dfc03n%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/protobuf/1f6e5388-75ed-4a06-944e-0efce86dfc03n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Protocol Buffers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/protobuf/43835e46-f786-4756-836a-ece5db30652dn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/protobuf/43835e46-f786-4756-836a-ece5db30652dn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/02253cde-1971-45d1-bce8-de7dbe08d25cn%40googlegroups.com.

Reply via email to