It seems the Setiment Demo UI does not pass on phone or email (they are optional fields, but should be passed on if entered). Also, it appears that Quix Streams will generate errors for empty tag values (I’m not sure if this is expected behaviour or not).
Here’s a video of the issue:
Here’s the stack trace:
{"message":"Unexpected error occurred.","correlationId":"C29C73B2"}
[23-05-16 08:36:33.042 (1) INF] Using https://portal-api.dev.quix.ai endpoint for portal, configured from env var Quix__Portal__Api
Listening to streams. Press CTRL-C to exit.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/quixstreams/models/streamconsumer/streamtimeseriesconsumer.py", line 179, in _on_dataframe_received_wrapper
self._on_dataframe_received(self._stream_consumer, pdf)
File "main.py", line 19, in on_dataframe_received_handler
stream_producer.timeseries.buffer.publish(df)
File "/usr/local/lib/python3.8/dist-packages/quixstreams/models/streamproducer/timeseriesbufferproducer.py", line 159, in publish
data = TimeseriesData.from_panda_dataframe(packet)
File "/usr/local/lib/python3.8/dist-packages/quixstreams/models/timeseriesdata.py", line 382, in from_panda_dataframe
data_row.add_tag(panda_col_label[5:], str_val)
File "/usr/local/lib/python3.8/dist-packages/quixstreams/models/timeseriesdatatimestamp.py", line 225, in add_tag
new = tsdti(self._interop.AddTag(tag_id, tag_value))
File "/usr/local/lib/python3.8/dist-packages/quixstreams/native/Python/QuixStreamsStreaming/Models/TimeseriesDataTimestamp.py", line 381, in AddTag
result = InteropUtils.invoke("timeseriesdatatimestamp_addtag", self._pointer, tagId_ptr, tagValue_ptr)
File "/usr/local/lib/python3.8/dist-packages/quixstreams/native/Python/InteropHelpers/InteropUtils.py", line 86, in invoke
InteropUtils.__exception_handler(ex)
File "/usr/local/lib/python3.8/dist-packages/quixstreams/helpers/exceptionconverter.py", line 18, in raise_from_interop
raise exception # when not able to do better
quixstreams.native.Python.InteropHelpers.InteropUtils.InteropException: Tag (phone) value can't be null or empty (Parameter 'tagValue')
at QuixStreams.Streaming.Models.TimeseriesDataTimestamp.AddTag(String tagId, String tagValue) + 0x138
at QuixStreams.Streaming.Models.Interop.TimeseriesDataTimestampInterop.AddTag(IntPtr, IntPtr, IntPtr) + 0x9e
{"message":"Unexpected error occurred.","correlationId":"C29C73B2"}
Thanks!