@@ -48,7 +48,8 @@ class DataRowMetadataField(_CamelCaseMixin):
48
48
49
49
50
50
class DataRowMetadata (_CamelCaseMixin ):
51
- data_row_id : str
51
+ global_key : Optional [str ]
52
+ data_row_id : Optional [str ]
52
53
fields : List [DataRowMetadataField ]
53
54
54
55
@@ -58,7 +59,8 @@ class DeleteDataRowMetadata(_CamelCaseMixin):
58
59
59
60
60
61
class DataRowMetadataBatchResponse (_CamelCaseMixin ):
61
- data_row_id : str
62
+ global_key : Optional [str ]
63
+ data_row_id : Optional [str ]
62
64
error : Optional [str ] = None
63
65
fields : List [Union [DataRowMetadataField , SchemaId ]]
64
66
@@ -75,7 +77,8 @@ class _UpsertDataRowMetadataInput(_CamelCaseMixin):
75
77
76
78
# Batch of upsert values for a datarow
77
79
class _UpsertBatchDataRowMetadata (_CamelCaseMixin ):
78
- data_row_id : str
80
+ global_key : Optional [str ]
81
+ data_row_id : Optional [str ]
79
82
fields : List [_UpsertDataRowMetadataInput ]
80
83
81
84
@@ -476,11 +479,12 @@ def parse_metadata_fields(
476
479
def bulk_upsert (
477
480
self , metadata : List [DataRowMetadata ]
478
481
) -> List [DataRowMetadataBatchResponse ]:
479
- """Upsert datarow metadata
480
-
482
+ """Upsert metadata to a list of data rows
483
+
484
+ You may specify data row by either data_row_id or global_key
481
485
482
486
>>> metadata = DataRowMetadata(
483
- >>> data_row_id="datarow-id",
487
+ >>> data_row_id="datarow-id", # Alternatively, set global_key="global-key"
484
488
>>> fields=[
485
489
>>> DataRowMetadataField(schema_id="schema-id", value="my-message"),
486
490
>>> ...
@@ -504,6 +508,7 @@ def _batch_upsert(
504
508
) -> List [DataRowMetadataBatchResponse ]:
505
509
query = """mutation UpsertDataRowMetadataBetaPyApi($metadata: [DataRowCustomMetadataBatchUpsertInput!]!) {
506
510
upsertDataRowCustomMetadata(data: $metadata){
511
+ globalKey
507
512
dataRowId
508
513
error
509
514
fields {
@@ -515,7 +520,8 @@ def _batch_upsert(
515
520
res = self ._client .execute (
516
521
query , {"metadata" : upserts })['upsertDataRowCustomMetadata' ]
517
522
return [
518
- DataRowMetadataBatchResponse (data_row_id = r ['dataRowId' ],
523
+ DataRowMetadataBatchResponse (global_key = r ['globalKey' ],
524
+ data_row_id = r ['dataRowId' ],
519
525
error = r ['error' ],
520
526
fields = self .parse_metadata (
521
527
[r ])[0 ].fields ) for r in res
@@ -525,6 +531,7 @@ def _batch_upsert(
525
531
for m in metadata :
526
532
items .append (
527
533
_UpsertBatchDataRowMetadata (
534
+ global_key = m .global_key ,
528
535
data_row_id = m .data_row_id ,
529
536
fields = list (
530
537
chain .from_iterable (
0 commit comments