Я пытаюсь вставить одну запись в свой поисковый сервис AWS elasti c. Я использую официальный модуль @ elastic / elasticsearch npm.
Вот мой пример кода:
const { Client } = require('@elastic/elasticsearch')
const { createAWSConnection, awsCredsifyAll, awsGetCredentials } = require('@acuris/aws-es-connection')
const { elasticSearchHost } = require('./config')
const getClient = async () => {
const awsCredentials = await awsGetCredentials()
const Connection = createAWSConnection(awsCredentials)
return awsCredsifyAll(new Client({ node: elasticSearchHost, Connection }))
}
const insert = async () => {
const esClient = await getClient()
const response = await esClient.index({
index: 'someIndex',
id: '1234',
body: { name: 'Joe', age: 22 }
})
}
insert()
Но я всегда получаю очень не очень полезную ошибку, подобную этой
ERROR Invoke Error
{
"errorType": "Error",
"errorMessage": "ResponseError: Response Error",
"stack": [
"Error: ResponseError: Response Error",
" at Function.exports.execute (/var/task/src/processor.js:27:11)",
" at processTicksAndRejections (internal/process/task_queues.js:97:5)"
]
}
client.index работает, когда я запускаю поисковую службу elasti c локально. Не уверен, поддерживает ли его служба AWS. Если нет, то есть ли другой способ / метод, который я могу использовать для вставки одной записи в службу поиска AWS elasti c.