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/CAD7-yfsn5AXd5UmmZrTSxfce1_oM9fJozGpYvuhP-Nm509kLdA%40mail.gmail.com.

Reply via email to