@@ -54,17 +54,34 @@ def write_record(j):
5454 # then save each of the flows within the record, but use execute_values() to perform bulk insert:
5555 def _get_data (record_seq , flows ):
5656 for flow in flows :
57- yield (record_seq , flow ,)
57+ yield (
58+ record_seq ,
59+ flow .get ('IN_BYTES' ),
60+ flow .get ('PROTOCOL' ),
61+ flow .get ('DIRECTION' ),
62+ flow .get ('L4_DST_PORT' ),
63+ flow .get ('L4_SRC_PORT' ),
64+ flow .get ('INPUT_SNMP' ),
65+ flow .get ('OUTPUT_SNMP' ),
66+ flow .get ('IPV4_DST_ADDR' ),
67+ flow .get ('IPV4_SRC_ADDR' ),
68+ )
5869 data_iterator = _get_data (record_seq , j ['flows' ])
59- psycopg2 .extras .execute_values (c , f"INSERT INTO { DB_PREFIX } flows (record, data) VALUES %s" , data_iterator , "(%s, %s)" , page_size = 100 )
60-
70+ psycopg2 .extras .execute_values (
71+ c ,
72+ f"INSERT INTO { DB_PREFIX } flows (record, IN_BYTES, PROTOCOL, DIRECTION, L4_DST_PORT, L4_SRC_PORT, INPUT_SNMP, OUTPUT_SNMP, IPV4_DST_ADDR, IPV4_SRC_ADDR) VALUES %s" ,
73+ data_iterator ,
74+ "(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" ,
75+ page_size = 100
76+ )
6177
6278if __name__ == "__main__" :
6379 NAMED_PIPE_FILENAME = os .environ .get ('NAMED_PIPE_FILENAME' , None )
6480 if not NAMED_PIPE_FILENAME :
6581 raise Exception ("Please specify NAMED_PIPE_FILENAME environment var" )
6682
6783 migrate_if_needed ()
84+
6885 try :
6986 process_named_pipe (NAMED_PIPE_FILENAME )
7087 except KeyboardInterrupt :
0 commit comments