Is your feature request related to a problem? Please describe.
Several Neptune customers have asked about ways to access Neptune Streams data on their connected cluster. This is commonly desired when they are also making use of Neptune's Full-Text Search integration with Elasticsearch.
For now, customers can access Streams data from graph-notebook by running a curl command from a %%bash cell to call the Streams API. However, we would like to make Streams access easier than this, and more consistent with how similar data (i.e. query results) are retrieved and displayed in the notebook.
Implement a new %stream_viewer magic command to retrieve the Streams data from the connected Neptune cluster, and output the data as a table widget. The widget should contain interactable elements for the user to scroll through or otherwise change the view of the streams data. We should also have a multi-tab view in the widget to give a view of the raw data from the stream.
Is your feature request related to a problem? Please describe.
Several Neptune customers have asked about ways to access Neptune Streams data on their connected cluster. This is commonly desired when they are also making use of Neptune's Full-Text Search integration with Elasticsearch.
For now, customers can access Streams data from graph-notebook by running a
curl
command from a%%bash
cell to call the Streams API. However, we would like to make Streams access easier than this, and more consistent with how similar data (i.e. query results) are retrieved and displayed in the notebook.An existing Neptune Stream Poller Jupyter notebook widget, built by @iansrobinson, has been open sourced here: https://github.com/aws-samples/amazon-neptune-samples/blob/master/gremlin/neptune-streams/lambda/neptune-streams-demo/neptune_python_utils/streams.py
Examples of usage can be seen here: https://aws.amazon.com/blogs/database/capture-graph-changes-using-neptune-streams/
Describe the solution you'd like
Implement a new
%stream_viewer
magic command to retrieve the Streams data from the connected Neptune cluster, and output the data as a table widget. The widget should contain interactable elements for the user to scroll through or otherwise change the view of the streams data. We should also have a multi-tab view in the widget to give a view of the raw data from the stream.