Skip to content

Latest commit

 

History

History

elastic

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kubemq Elastic Search Target Connector

Kubemq elastic-search target connector allows services using kubemq server to access elastic-search database services.

Prerequisites

The following are required to run the elastic-search target connector:

  • kubemq cluster
  • elastic-search server
  • kubemq-targets deployment

Configuration

Elastic Search target connector configuration properties:

Properties Key Required Description Example
urls yes elastic-search list of urls separated by comma "http://localhost:9200,http://localhost:9201"
username no elastic-search username "admin"
password no elastic-search password "password"
sniff no set sniff opn connect "true", "false"

Example:

bindings:
  - name: kubemq-query-elastic-search
    source:
      kind: kubemq.query
      name: kubemq-query
      properties:
        address: "kubemq-cluster:50000"
        client_id: "kubemq-query-elastic-search-connector"
        auth_token: ""
        channel: "query.elastic-search"
        group:   ""
        auto_reconnect: "true"
        reconnect_interval_seconds: "1"
        max_reconnects: "0"
    target:
      kind: stores.elastic
      name: target-elastic-search
      properties:
        urls: "http://localhost:9200"
        username: "admin"
        password: "password"
        sniff: "false"

Usage

Get Request

Get request metadata setting:

Metadata Key Required Description Possible values
method yes method name get "get"
index yes elastic-search index table any string
id yes document id any string

Example:

{
  "metadata": {
    "method": "get",
    "index": "log",
    "id": "doc-id"
  },
  "data": null
}

Set Request

Set request metadata setting:

Metadata Key Required Description Possible values
method yes method name set "set"
index yes elastic-search index table any string
id yes document id any string

Set request data setting:

Data Key Required Description Possible values
data yes data to set for the elastic-search key base64 bytes array

Example:

{
  "metadata": {
    "method": "set",
    "index": "log",
    "id": "doc-id"
  },
  "data": "ewoJImlkIjogInNvbWUtaWQiLAoiZGF0YSI6InNvbWUtZGF0YSIKfQ==" 
}

Delete Request

Delete request metadata setting:

Metadata Key Required Description Possible values
method yes method name delete "delete"
index yes elastic-search index table any string
id yes document id any string

Example:

{
  "metadata": {
    "method": "delete",
    "index": "log",
    "id": "doc-id"
  },
  "data": null
}

Index Exists Request

Index exists request metadata setting:

Metadata Key Required Description Possible values
method yes method name index.exists "index.exists"
index yes elastic-search index table any string

Example:

{
  "metadata": {
    "method": "index.exists",
    "index": "log"
  },
  "data": null
}

Index Create Request

Index create request metadata setting:

Metadata Key Required Description Possible values
method yes method name index.create "index.create"
index yes elastic-search index table any string

Index create data setting:

Data Key Required Description Possible values
data yes data to set index mapping base64 bytes array

Example:

Mapping log index

{
	"settings": {
		"number_of_shards": 1,
		"number_of_replicas": 0
	},
	"mappings": {
		"properties": {
			"id": {
				"type": "keyword"
			},
			"data": {
				"type": "text"
			}
		}
	}
}

Request:

{
  "metadata": {
    "method": "index.create",
    "index": "log"
  },
  "data": "ewoJInNldHRpbmdzIjogewoJCSJudW1iZXJfb2Zfc2hhcmRzIjogMSwKCQkibnVtYmVyX29mX3JlcGxpY2FzIjogMAoJfSwKCSJtYXBwaW5ncyI6IHsKCQkicHJvcGVydGllcyI6IHsKCQkJImlkIjogewoJCQkJInR5cGUiOiAia2V5d29yZCIKCQkJfSwKCQkJImRhdGEiOiB7CgkJCQkidHlwZSI6ICJ0ZXh0IgoJCQl9CgkJfQoJfQp9"
}

Index Delete Request

Index Delete request metadata setting:

Metadata Key Required Description Possible values
method yes method name index.delete "index.delete"
index yes elastic-search index table any string

Example:

{
  "metadata": {
    "method": "index.delete",
    "index": "log"
  },
  "data": null
}