mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-21 04:15:02 +00:00
Watcher Docs: Edited chain input topic & added chain to customizing watches.
Original commit: elastic/x-pack-elasticsearch@9e1d7f09c6
This commit is contained in:
parent
5b72d1768d
commit
fb4ba6f89d
@ -9,8 +9,8 @@ you can customize a watch by modifying its <<changing-inputs, inputs>>,
|
|||||||
|
|
||||||
[[changing-inputs]]
|
[[changing-inputs]]
|
||||||
=== Changing Inputs
|
=== Changing Inputs
|
||||||
Watcher supports three types of inputs <<loading-static-data, simple>>,
|
Watcher supports four types of inputs <<loading-static-data, simple>>,
|
||||||
<<loading-search-results, search>>, and <<loading-http-data, http>>.
|
<<loading-search-results, search>>, <<loading-http-data, http>>, and <<input-chain, chain>>.
|
||||||
|
|
||||||
[[loading-static-data]]
|
[[loading-static-data]]
|
||||||
==== Loading Static Data with the Simple Input
|
==== Loading Static Data with the Simple Input
|
||||||
@ -115,6 +115,13 @@ during the month of May, 2015 that were tagged with `elasticsearch`.
|
|||||||
included as part of the path.
|
included as part of the path.
|
||||||
////////////
|
////////////
|
||||||
|
|
||||||
|
[[chaining-inputs]]
|
||||||
|
==== Chaining Inputs
|
||||||
|
|
||||||
|
You can create an <<input-chain, input chain>> to load data from multiple sources into a watch.
|
||||||
|
The inputs in a chain are processed in order, so the the data loaded by one input can be used
|
||||||
|
by subsequent inputs.
|
||||||
|
|
||||||
[[changing-conditions]]
|
[[changing-conditions]]
|
||||||
=== Changing Conditions
|
=== Changing Conditions
|
||||||
|
|
||||||
|
@ -1,18 +1,22 @@
|
|||||||
[[input-chain]]
|
[[input-chain]]
|
||||||
==== Chain Input
|
==== Chain Input
|
||||||
|
|
||||||
An <<input, input>> that enables you to chain several inputs one after the other and have each input populating the execution context.
|
An <<input, input>> that enables you to string together multiple inputs to load data into the watch execution
|
||||||
The `chain` input is useful when the output of one input should change the input of another or you need several inputs to gather all the
|
context. Each input loads data into the execution context and that data is available to subsequent inputs in the chain.
|
||||||
information needed for an action..
|
|
||||||
|
|
||||||
You can define the chained input as following
|
The `chain` input is useful when you want to perform an action based on data from multiple sources.
|
||||||
|
You can also use the data collected by one input to load data from another source.
|
||||||
|
|
||||||
|
To reference data loaded by a particular input, you use the input's name, `ctx.payload.<input-name>.<value>`.
|
||||||
|
|
||||||
|
For example, the following chain input loads data from an HTTP server using the path set by a `simple` input.
|
||||||
|
|
||||||
[source,json]
|
[source,json]
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
{
|
{
|
||||||
"input" : {
|
"input" : {
|
||||||
"chain" : {
|
"chain" : {
|
||||||
"inputs" : [
|
"inputs" : [ <1>
|
||||||
"first" : {
|
"first" : {
|
||||||
"simple" : { "path" : "/_search" }
|
"simple" : { "path" : "/_search" }
|
||||||
},
|
},
|
||||||
@ -21,7 +25,7 @@ You can define the chained input as following
|
|||||||
"request" : {
|
"request" : {
|
||||||
"host" : "localhost",
|
"host" : "localhost",
|
||||||
"port" : 9200,
|
"port" : 9200,
|
||||||
"path" : "{{ctx.payload.first.path}}"
|
"path" : "{{ctx.payload.first.path}}" <2>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -31,9 +35,5 @@ You can define the chained input as following
|
|||||||
...
|
...
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
<1> The inputs in a chain are specified as an array to guarantee the order in which the inputs are processed. (JSON does not guarantee the order of arbitrary objects.)
|
||||||
As you can see, the name of the input (`first` and `second` in this example) can be used to access values from the context in consecutive inputs.
|
<2> Loads the `path` set by the `first` input.
|
||||||
|
|
||||||
In case you are wondering about the structure of this input. The `inputs` must be an array, because JSON does not guarantee the order of arbitrary
|
|
||||||
objects, one has to use a list.
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user