in datahub/batch/batch_serializer.py [0:0]
def convert_to_binary_record(record, schema_object):
if isinstance(record, BlobRecord):
binary_record = BinaryRecord(schema=None, version_id=-1)
binary_record.set_field(0, record.blob_data)
else:
schema = RecordSchema(record.field_list)
version_id = 0
if schema_object.schema_register:
version_id_new = int(schema_object) if isinstance(schema_object, str) else schema_object.schema_register.get_version_id(schema_object.project, schema_object.topic, schema)
if version_id_new:
version_id = version_id_new
binary_record = BinaryRecord(schema=schema, version_id=version_id)
for i in range(len(schema.field_list)):
value = record.get_value(i)
binary_record.set_field(i, value)
if record.attributes:
for key, val in record.attributes.items():
binary_record.add_attribute(key, val)
return binary_record