Managing Elasticsearch extensions
Warning
Yandex Managed Service for Elasticsearch is unavailable as of April 11, 2024.
You can create an OpenSearch cluster in Yandex Cloud as an alternative to Elasticsearch.
User extensions are any text data (dictionaries of words, word breaks, and so on), keys for integration with other clusters, and other data for cluster performance. For more information, see the Elasticsearch documentation
Retrieving a list of installed user extensions
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
To get a list of cluster extensions, run the following command:
yc managed-elasticsearch extensions list --cluster-id <cluster_ID>
You can get the cluster ID with a list of clusters in the folder.
To get a list of installed user extensions, use the list REST API method for the Extension resource or the ExtensionService/List gRPC API call, and provide the cluster ID in the clusterId
request parameter.
You can get the cluster ID with a list of clusters in the folder.
Adding or updating user extensions
Note
All extensions must be in TXT format and added to a ZIP archive.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
To add or update a user extension, run this command:
yc managed-elasticsearch extensions create --cluster-id <cluster_ID> \
--name <extension_name> \
--uri <URI_of_zip_archive_with_extension> \
--disabled
In the command, specify the following parameters:
-
--cluster-id
: Cluster ID. You can get it with a list of clusters in the folder. -
--name
: Extension name. If a previously added extension is specified, it is updated:- The extension version number is increased by one.
- A new extension version is uploaded via the link in the
--uri
parameter and gets a new ID.
-
--uri
: Link to a ZIP archive with the extension files in Yandex Object Storage. You can configure access to Yandex Object Storage using your service account. -
--disabled
: User extension status. Provide this parameter to disable the new version of a user extension immediately after it is added or updated. Do not set this parameter to enable it. When the new extension version is enabled, the old one is disabled automatically.
To add or update a user extension, use the create REST API method for the Extension resource or the ExtensionService/Create gRPC API call and provide the following in the request:
-
Cluster ID in the
clusterId
parameter.You can get the cluster ID with a list of clusters in the folder.
-
Extension name in the
name
parameter. If a previously added extension is specified, it is updated:- The extension version number is increased by one.
- A new extension version is uploaded via the link in the
uri
parameter and gets a new ID.
-
Link to a ZIP archive with the extension files in Yandex Object Storage, in the
uri
parameter. You can configure access to Yandex Object Storage using your service account. -
User extension status in the
disabled
parameter. Once added, the extension will be disabled iftrue
and enabled iffalse
. When the new extension version is enabled, the old one is disabled automatically.
Enabling or disabling user extensions
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
To enable or disable a user extension, run this command:
yc managed-elasticsearch extensions update <extension_ID> \
--cluster-id <cluster_ID> \
--active
You can get the cluster ID with a list of folder clusters, and the extension ID, with a list of cluster extensions.
To enable an extension, provide the --active
parameter (to disable, do not provide it).
To enable or disable a user extension, use the update REST API method for the Extension resource or the ExtensionService/Update gRPC API call and provide the following in the request:
-
Cluster ID in the
clusterId
parameter.You can get the cluster ID with a list of clusters in the folder.
-
ID of the user extension in the
extensionId
parameter. To get the ID, retrieve a list of installed user extensions. -
User extension status in the
active
parameter (enabled iftrue
, disabled iffalse
).
Deleting user extensions
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
To delete an extension, run the command:
yc managed-elasticsearch extensions delete <extension_ID> \
--cluster-id <cluster_ID>
You can get the cluster ID with a list of folder clusters, and the extension ID, with a list of cluster extensions.
To delete a user extension, use the delete REST API method for the Extension resource or the ExtensionService/Delete gRPC API call and provide the following in the request:
-
Cluster ID in the
clusterId
parameter.You can get the cluster ID with a list of clusters in the folder.
-
ID of the user extension in the
extensionId
parameter. To get the ID, retrieve a list of installed user extensions.