mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 03:01:21 -04:00
30 lines
1.3 KiB
Text
30 lines
1.3 KiB
Text
[[elasticsearch-service]]
|
|
== Elasticsearch service
|
|
`Elasticsearch service` provides `elasticsearch.client` program API to communicate with Elasticsearch server HTTP API.
|
|
|
|
NOTE: The Elasticsearch service is only available server side. You can use the {kib-repo}blob/{branch}/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md[Data plugin] APIs on the client side.
|
|
|
|
`elasticsearch.client` interacts with Elasticsearch service on behalf of:
|
|
|
|
- `kibana_system` user via `elasticsearch.client.asInternalUser.*` methods.
|
|
- a current end-user via `elasticsearch.client.asCurrentUser.*` methods. In this case Elasticsearch client should be given the current user credentials.
|
|
See <<scoped-services>> and <<development-security>>.
|
|
|
|
{kib-repo}blob/{branch}/docs/development/core/server/kibana-plugin-core-server.elasticsearchservicestart.md[Elasticsearch service API docs]
|
|
|
|
[source,typescript]
|
|
----
|
|
import { CoreStart, Plugin } from 'kibana/public';
|
|
|
|
export class MyPlugin implements Plugin {
|
|
public start(core: CoreStart) {
|
|
async function asyncTask() {
|
|
const result = await core.elasticsearch.client.asInternalUser.ping(…);
|
|
}
|
|
asyncTask();
|
|
}
|
|
}
|
|
----
|
|
|
|
For advanced use-cases, such as a search, use {kib-repo}blob/{branch}/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md[Data plugin]
|
|
|