Вставка одной записи в службу AWS elasticsearch с использованием метода индекса не работает - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь вставить одну запись в свой поисковый сервис 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.

...