Skip to content

Using the sample program for the kdb Insights Java interface

KX Nexus

The KX Nexus repository will be sunsetted in the future. Nexus links on this page are provided as a temporary alternative to the KX Downloads Portal for existing users. The KX Downloads Portal is the preferred repository for all use cases and KX Nexus links will be removed once the KX Nexus repository is decommissioned.

This section describes how to use our sample Java program, available on the KX Downloads Portal or the KX Nexus repository until Nexus is removed in the future, to send data in a sample.csv file, or a random set of data, to either:

  • kdb Insights Reliable Transport
  • An sdk_sample_assembly assembly inside the kdb Insights Enterprise. You can download this assembly using the instructions in Downloading assemblies.

Downloading and Building

The insights-java-sdk-samples.${VERSION}.zip can be downloaded from the KX Downloads Portal or from the KX Nexus repository until Nexus is removed in the future.

You can build the samples with the following command:

./gradlew shadowJar

Running the samples

You can run the samples like this:

java -jar ./build/libs/insights-java-sdk-samples-1.0-SNAPSHOT-all.jar <sample name> <sample args>

The different samples need different arguments and environment variables as follows:

sample name arguments env vars needed description
BulkUploadBatches none KXI_CONFIG_URL, RT_REP_DIR, RT_LOG_PATH Streams data to kdb Insights Enterprise using the bulk loader in batches
BulkUploadSingleLines none KXI_CONFIG_URL, RT_REP_DIR, RT_LOG_PATH Streams data to kdb Insights Enterprise using the bulk loader one entry at a time
RawDataTransfer none KXI_CONFIG_URL, RT_REP_DIR, RT_LOG_PATH Streams data to kdb Insights Enterprise using the API provided by RtClient directly
Ping none KXI_CONFIG_URL + Query login details Pings the query endpoint
GetMeta none KXI_CONFIG_URL + Query login details Shows the metadata
QsqlQuery The query to run (optional) KXI_CONFIG_URL + Query login details Runs a Qsql query against the data
SqlQuery The query to run (optional) KXI_CONFIG_URL + Query login details Runs a Sql query against the data
SimpleGetData none KXI_CONFIG_URL + Query login details Calls the simple version of GetData, using a time range of ± one year
SimpleGetDataWithoutEnvVars configUrl clientId clientSecret none Calls the simple version of GetData, using a time range of ± one year. Note: This doesn't get any details from the environment variables.
FullGetData none KXI_CONFIG_URL + Query login details Calls the simple version of GetData, using a time range of ± one year

For example, if you wanted to run the BulkUploadBatches sample, that would look like this:

KXI_CONFIG_URL=https://kdbinisights.installation.com/informationservice/details/guid RT_LOG_PATH=~/logpath RT_REP_DIR=~/repdir java -jar ./build/libs/insights-java-sdk-samples-1.0-SNAPSHOT-all.jar BulkUploadBatches

Samples that need Query login details require either:

  • KXI_QUERY_TOKEN

or:

  • KXI_QUERY_USER
  • KXI_QUERY_SECRET

Environment variables

You will need some of the following environment variables to run each of the samples:

variable details
KXI_CONFIG_URL The URL that is used to pull the configuration information needed to start the interface
RT_LOG_PATH The location where the RT log files are written locally
RT_REP_DIR The location to extract the interface replicator executable
KXI_QUERY_TOKEN A bearer token used for authentication when making queries. If this is set KXI_QUERY_USER and KXI_QUERY_SECRET are ignored.
KXI_QUERY_USER The Keycloak client that will be used to generate bearer tokens to log in for query
KXI_QUERY_SECRET The Keycloak client secret that will be used to generate bearer tokens for query