Sto provando a creare un utente Python Amazon Kinesis utilizzando la libreria KCL per Python (https://github.com/awslabs/amazon-kinesis-client-python). Ho iniziato controllando il codice di esempio. Sono stato in grado di eseguire sia le parti del codice di esempio sia quelle di script consumer e consumer, ma non sono in grado di verificare se i dati del mio stream kinesis (con un frammento) vengono trasferiti allo script di esempio Python, sample_kclpy_app.py
.Come verificare che il client Python Amazon Kinesis funzioni
Ho utilizzato il amazon_kclpy_helper.py
per generare il comando Java che chiamerebbe lo script Python tramite il file sample.properties
. Ho eseguito il comando Java e posso vedere dall'output del terminale che vengono letti i dati dal flusso Kinesis. Ho aggiunto un'istruzione print
nella funzione process_record
dello script consumer Python per verificare se i dati venivano trasferiti su di esso. Ma non appare nell'output del terminale.
Ho anche provato a utilizzare logging
per generare messaggi STDOUT, nonché scrivere su un file. Ho anche aggiunto la riga assert 0
nel codice Python per forzare l'esito negativo dello script e visualizzare un'eccezione nell'output del registro. Quindi, ho volutamente aggiunto un errore di sintassi nel codice Python. Tuttavia, sembra che tutti questi non siano stati rilevati da Java MultiLangDaemon, che ha continuato a funzionare e sfornare i messaggi del registro INFO.
Quale potrebbe essere il problema? E c'è un modo migliore per verificare se i dati vengono effettivamente inviati alla funzione process_record
dello script consumer Python?
Ho anche dovuto eseguire di nuovo 'python setup.py install' – sheldonkreger