• [+] expand all

vespa-feed-client

  • Java library and command line client for feeding document operations using Document v1 over HTTP/2.
  • Asynchronous, high-performance Java implementation, with retries and dynamic throttling.
  • Simpler alternative to Vespa HTTP Client.
  • Supports a JSON array of feed operations, as well as JSONL: one operation JSON per line.

Installing the client

Java library

The Java library is available as a Maven JAR artifact at Maven Central.

Command line client

Two alternatives:

Enable feed endpoint in Vespa

Requirements:

Example services.xml

<?xml version="1.0" encoding="utf-8" ?>
<services version="1.0">
  <container version="1.0" id="default">
    <http>
      <server id="default" port="8080">
        <ssl>
          <private-key-file>/path/to/vespa/home/conf/jdisc_container/private-key.pem</private-key-file>
          <certificate-file>/path/to/vespa/home/conf/jdisc_container/certificate.pem</certificate-file>
          <ca-certificates-file>/path/to/vespa/home/conf/jdisc_container/ca-certificates.pem</ca-certificates-file>
        </ssl>
      </server>
    </http>
    <document-api/>
  </container>
</services>

Using the client

The Javadoc for the programmatic API is available at javadoc.io. See output of $ vespa-feed-client --help for usage of command line client.

Example Java

Add vespa-feed-client as dependency to your Maven (or other build system using Maven for dependency management):

<dependency>
  <groupId>com.yahoo.vespa</groupId>
  <artifactId>vespa-feed-client</artifactId>
  <version>7.xxx.xx</version>
</dependency>

Code examples are listed in the vespa-feed-client source code at Github.

Example command line

$ vespa-feed-client --file /path/to/json/file --endpoint https://container-endpoint:443/ --connections 4 \
    --certificate cert.pem --private-key key.pem --ca-certificates ca.pem
where the input must be either a proper JSON array, or a series, of JSON feed operations (JSONL), in the format described for the Vespa feed client here.

Feed using Hadoop, Pig, Oozie

Set vespa.feed.uselegacyclient config parameter to false to enable vespa-feed-client for the vespa-hadoop library.