С CSS, вы можете использовать open-source OpenSearch APIs в OpenSearch Dashboards или на сервере ECS для импорта данных в кластер OpenSearch. Поддерживаются файлы JSON. Для получения подробной информации об API OpenSearch смотрите REST API справка.
В OpenSearch Dashboards вы можете выполнять команды POST для импорта отдельных элементов данных, используя open-source API OpenSearch.
Левая часть консоли — это поле ввода команды, а треугольный значок в её верхнем правом углу — кнопка выполнения. Правая часть отображает результат выполнения.
GET _cat/indices?v
Например, выполните следующую команду для создания индекса my_store:
PUT /my_store{"settings": {"number_of_shards": 1},"mappings": {"properties": {"productName": {"type": "text"},"size": {"type": "keyword"}}}}
POST /my_store/_bulk{"index":{}}{"productName":"Latest art shirts for women in 2017 autumn","size":"L"}
Вывод команды похож на показанный в Figure 1. Если значение ошибок поле в результате равно false, данные успешно импортированы.
Figure 1 Сообщение ответа

На сервере ECS вы можете выполнять команды cURL, чтобы использовать открытый API OpenSearch для импорта файлов JSON.
В примере ниже используется кластер в режиме без безопасности для описания импорта данных с помощью команд cURL. Для команд, используемых с кластером с безопасностью, см Доступ к кластеру OpenSearch с помощью команд cURL.
Если в кластере только один узел, отображаются IP-адрес и номер порта этого единственного узла, например, 10.62.179.32:9200. Если в кластере несколько узлов и все они являются дата-узлами, отображаются IP-адреса и номера портов всех этих узлов; если некоторые из них являются клиентскими узлами, отображаются только IP-адреса и номера портов этих клиентских узлов; например, 10.62.179.32:9200,10.62.179.33:9200.
Например, сохраните следующие данные в виде JSON-файла и загрузите файл в ECS:
{"index": {"_index":"my_store"}}{"productName":"Autumn new woman blouses 2019","size":"M"}{"index": {"_index":"my_store"}}{"productName":"Autumn new woman blouses 2019","size":"L"}
curl -X PUT "http://{Private network address and port number of the node}/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
Заменить {Приватный сетевой адрес и номер порта узла} с приватным сетевым адресом и номером порта узла в кластере. Значение -X параметр является командой и у -H параметр является заголовком сообщения. В предыдущей команде, PUT является значением -X параметра и 'Content-Type: application/json' --data-binary @test.json является значением -H параметр. Не добавляйте -k между параметром и его значением. test.json указывает JSON-файл для импорта.
В случае отказа узла кластера, если кластер содержит несколько узлов, вы можете заменить {Приватный сетевой адрес и номер порта узла} на приватный сетевой адрес и номер порта любого доступного узла в кластере; если кластер содержит только один узел, восстановите этот узел и выполните команду снова.
Пример: В этом примере предположим, что вам необходимо импортировать данные в test.json файл в кластер OpenSearch, где шифрование связи отключено, а приватный сетевой адрес и номер порта одного узла 192.168.0.90 и 9200 соответственно.
curl -X PUT http://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '{"settings": {"number_of_shards": 1},"mappings": {"properties": {"productName": {"type": "text"},"size": {"type": "keyword"}}}}'
curl -X PUT "http://192.168.0.90:9200/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
В этом случае, если отображается следующая информация, данные успешно импортированы:
{"took":204,"errors":false,"items":[{"index":{"_index":"my_store","_type":"_doc","_id":"DJQkBIwBbJvUd2769Wi-","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1,"status":201}},{"index":{"_index":"my_store","_type":"_doc","_id":"DZQkBIwBbJvUd2769Wi_","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1,"status":201}}]}