Tried this.
syntax = "proto3";
message SkuCostAudit {
message costs{
string calculatedDateTime = 1;
int64 sku = 2;
int64 vendor = 3;
int64 location = 4;
string locationType = 5;
float cost = 6;
string effectiveBeginDateTime = 7;
string effectiveEndDateTime = 8;
string transactionType = 9;
repeated details detail = 10;
}
message details{
string type = 11;
float cost = 12;
string effective = 13;
}
repeated costs xyz = 14;
}
But no luck. Invalid JSON-encoded message against Protocol Buffer schema.
Syntax error: value, object or array expected.
On Tuesday, November 29, 2022 at 11:02:34 PM UTC-5 [email protected] wrote:
> That schema looks correct to me, so I'm not really sure how to help
> further...could try syntax = "proto3" and drop all the required.
>
> On Tue, Nov 29, 2022 at 7:59 PM 'SUDHAVANI SUNKARA' via Protocol Buffers <
> [email protected]> wrote:
>
>> Thank you DE. I did not write any code DE.
>>
>> I am trying to create schema. Am I missing any [ ] ?
>> My pubsub message is correct. I am trying to match my schema with
>> pubsub message.
>>
>> {
>> "costs":[
>> {
>> "calculatedDateTime":"2022-11-29T15:38:47Z",
>> "sku":122222222,
>> "vendor":111111,
>> "location":1234,
>> "locationType":"",
>> "cost":200.1200,
>> "effectiveBeginDateTime":"2019-12-25T07:00:00Z",
>> "effectiveEndDateTime":"2022-11-17T06:59:59Z",
>> "transactionType":"INSERT",
>> "details":[
>> {
>> "type":"PERMANENT",
>> "cost":200.1200,
>> "effective":true
>> }
>> ]
>> },
>> {
>> "calculatedDateTime":"2022-11-29T15:38:47Z",
>> "sku":222222222,
>> "vendor":222222,
>> "location":2222,
>> "locationType":"",
>> "cost":45,
>> "effectiveBeginDateTime":"2022-11-17T07:00:00Z",
>> "effectiveEndDateTime":"2023-11-24T06:59:59Z",
>> "transactionType":"INSERT",
>> "details":[
>> {
>> "type":"PERMANENT",
>> "cost":45,
>> "effective":true
>> }
>> ]
>> },
>> {
>> "calculatedDateTime":"2022-11-29T15:38:47Z",
>> "sku":3333333333,
>> "vendor":44444444,
>> "location":2222,
>> "locationType":"",
>> "cost":200.1200,
>> "effectiveBeginDateTime":"2019-12-25T07:00:00Z",
>> "effectiveEndDateTime":"9999-12-30T23:59:59Z",
>> "transactionType":"DELETE",
>> "details":[
>> {
>> "type":"PERMANENT",
>> "cost":200.1200,
>> "effective":true
>> }
>> ]
>> }
>> ]
>> }
>>
>> On Tuesday, November 29, 2022 at 10:56:09 PM UTC-5 [email protected]
>> wrote:
>>
>>> Hard to say without seeing more details/code. Sorry :(
>>>
>>> On Tue, Nov 29, 2022 at 7:54 PM 'SUDHAVANI SUNKARA' via Protocol Buffers
>>> <[email protected]> wrote:
>>>
>>>> I have this
>>>> syntax = "proto2";
>>>>
>>>> message SkuCostAudit {
>>>> message costs{
>>>> required string calculatedDateTime = 1;
>>>> required int64 sku = 2;
>>>> required int64 vendor = 3;
>>>> required int64 location = 4;
>>>> required string locationType = 5;
>>>> required float cost = 6;
>>>> required string effectiveBeginDateTime = 7;
>>>> required string effectiveEndDateTime = 8;
>>>> required string transactionType = 9;
>>>> repeated details details = 10;
>>>> }
>>>> message details{
>>>> required string type = 12;
>>>> required float cost = 13;
>>>> required string effective = 14;
>>>> }
>>>> repeated costs xyz = 11;
>>>> }
>>>>
>>>>
>>>>
>>>> Still getting error
>>>>
>>>> Invalid JSON-encoded message against Protocol Buffer schema. Syntax
>>>> error: value, object or array expected.
>>>>
>>>> On Tuesday, November 29, 2022 at 10:51:27 PM UTC-5 [email protected]
>>>> wrote:
>>>>
>>>>> Say “repeated” instead of “required” for details/10 line.
>>>>>
>>>>> On Tue, Nov 29, 2022 at 7:39 PM 'SUDHAVANI SUNKARA' via Protocol
>>>>> Buffers <[email protected]> wrote:
>>>>>
>>>>>> Thank you DE.
>>>>>>
>>>>>> I tried this still same isuue
>>>>>>
>>>>>> syntax = "proto2";
>>>>>>
>>>>>> message SkuCostAudit {
>>>>>> message costs{
>>>>>> required string calculatedDateTime = 1;
>>>>>> required int64 sku = 2;
>>>>>> required int64 vendor = 3;
>>>>>> required int64 location = 4;
>>>>>> required string locationType = 5;
>>>>>> required float cost = 6;
>>>>>> required string effectiveBeginDateTime = 7;
>>>>>> required string effectiveEndDateTime = 8;
>>>>>> required string transactionType = 9;
>>>>>> required details details = 10;
>>>>>> }
>>>>>> message details{
>>>>>> required string type = 13;
>>>>>> required float cost = 14;
>>>>>> required string effective = 15;
>>>>>> }
>>>>>> repeated costs xyz = 11;
>>>>>> }
>>>>>>
>>>>>> On Tuesday, November 29, 2022 at 10:33:34 PM UTC-5 [email protected]
>>>>>> wrote:
>>>>>>
>>>>>>> Looks like details needs to be a repeated message with its own
>>>>>>> schema and you have it set to required and string.
>>>>>>>
>>>>>>> On Tue, Nov 29, 2022 at 7:30 PM 'SUDHAVANI SUNKARA' via Protocol
>>>>>>> Buffers <[email protected]> wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> I am trying to use BQ subscription to write into BQ table. I am
>>>>>>>> using pubsub schema and trying to use protocol buffer option.
>>>>>>>> Here is my schema
>>>>>>>>
>>>>>>>> syntax = "proto2";
>>>>>>>>
>>>>>>>> message SkuCostAudit {
>>>>>>>> message costs{
>>>>>>>> required string calculatedDateTime = 1;
>>>>>>>> required int64 sku = 2;
>>>>>>>> required int64 vendor = 3;
>>>>>>>> required int64 location = 4;
>>>>>>>> required string locationType = 5;
>>>>>>>> required float cost = 6;
>>>>>>>> required string effectiveBeginDateTime = 7;
>>>>>>>> required string effectiveEndDateTime = 8;
>>>>>>>> required string transactionType = 9;
>>>>>>>> required string details = 10;
>>>>>>>> }
>>>>>>>>
>>>>>>>> repeated costs xyz = 11;
>>>>>>>> }
>>>>>>>>
>>>>>>>> I am trying to test my schema with this pubsub message..
>>>>>>>>
>>>>>>>> {
>>>>>>>> "costs":[
>>>>>>>> {
>>>>>>>> "calculatedDateTime":"2022-11-29T15:38:47Z",
>>>>>>>> "sku":122222222,
>>>>>>>> "vendor":111111,
>>>>>>>> "location":1234,
>>>>>>>> "locationType":"",
>>>>>>>> "cost":200.1200,
>>>>>>>> "effectiveBeginDateTime":"2019-12-25T07:00:00Z",
>>>>>>>> "effectiveEndDateTime":"2022-11-17T06:59:59Z",
>>>>>>>> "transactionType":"INSERT",
>>>>>>>> "details":[
>>>>>>>> {
>>>>>>>> "type":"PERMANENT",
>>>>>>>> "cost":200.1200,
>>>>>>>> "effective":true
>>>>>>>> }
>>>>>>>> ]
>>>>>>>> },
>>>>>>>> {
>>>>>>>> "calculatedDateTime":"2022-11-29T15:38:47Z",
>>>>>>>> "sku":222222222,
>>>>>>>> "vendor":222222,
>>>>>>>> "location":2222,
>>>>>>>> "locationType":"",
>>>>>>>> "cost":45,
>>>>>>>> "effectiveBeginDateTime":"2022-11-17T07:00:00Z",
>>>>>>>> "effectiveEndDateTime":"2023-11-24T06:59:59Z",
>>>>>>>> "transactionType":"INSERT",
>>>>>>>> "details":[
>>>>>>>> {
>>>>>>>> "type":"PERMANENT",
>>>>>>>> "cost":45,
>>>>>>>> "effective":true
>>>>>>>> }
>>>>>>>> ]
>>>>>>>> },
>>>>>>>> {
>>>>>>>> "calculatedDateTime":"2022-11-29T15:38:47Z",
>>>>>>>> "sku":3333333333,
>>>>>>>> "vendor":44444444,
>>>>>>>> "location":2222,
>>>>>>>> "locationType":"",
>>>>>>>> "cost":200.1200,
>>>>>>>> "effectiveBeginDateTime":"2019-12-25T07:00:00Z",
>>>>>>>> "effectiveEndDateTime":"9999-12-30T23:59:59Z",
>>>>>>>> "transactionType":"DELETE",
>>>>>>>> "details":[
>>>>>>>> {
>>>>>>>> "type":"PERMANENT",
>>>>>>>> "cost":200.1200,
>>>>>>>> "effective":true
>>>>>>>> }
>>>>>>>> ]
>>>>>>>> }
>>>>>>>> ]
>>>>>>>> }
>>>>>>>>
>>>>>>>> I am getting error "Message is invalid against schema" . My pubsub
>>>>>>>> message is correct. Can someone guide me to fix my schema?
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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/de950a92-ffe3-4796-b1c4-ba22f290d70an%40googlegroups.com
>>>>>>>>
>>>>>>>> <https://groups.google.com/d/msgid/protobuf/de950a92-ffe3-4796-b1c4-ba22f290d70an%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/419ea2b1-64a4-4c4b-8561-2fba4e158db6n%40googlegroups.com
>>>>>>
>>>>>> <https://groups.google.com/d/msgid/protobuf/419ea2b1-64a4-4c4b-8561-2fba4e158db6n%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/92d9a6ab-0bf0-4560-b4b7-360134938f17n%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/protobuf/92d9a6ab-0bf0-4560-b4b7-360134938f17n%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/dd04d136-b1a8-471f-99de-51886628075cn%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/protobuf/dd04d136-b1a8-471f-99de-51886628075cn%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/cc3d628d-75f5-48ec-b5e8-f3ba2434e9b2n%40googlegroups.com.