Vin*_*oft 3 javascript elasticsearch aws-elasticsearch
我正在学习 ElasticSearch(托管在 AWS 上)。我正在使用javascript sdk和这个 connectionClass。
我的代码:
let es = require('elasticsearch');
let client = new es.Client({
hosts: ['https://search-nboardelastic-xxyy.foo.es.amazonaws.com'],
connectionClass: require('http-aws-es')
});
function handler() {
let params = {
index: 'product',
q: 'bar'
};
client.search(params, (err, data) => {
if (err) {
console.log('Error ', err);
} else {
console.log('Data ', data);
}
})
}
handler();
Run Code Online (Sandbox Code Playgroud)
问题:当我运行代码时,出现以下错误:
Error: Request error, retrying
POST https://https://search-nboardelasticxxyy.foo.es.amazonaws.com/product/_search => The "data" argument must be one of type string, TypedArray, or DataView
at checkRespForFailure (/Users/oscarandersen/WebstormProjects/peego/lambda/indexElasticSearch/node_modules/elasticsearch/src/lib/transport.js:266:18)
at done (/Users/oscarandersen/WebstormProjects/peego/lambda/indexElasticSearch/node_modules/http-aws-es/connector.js:48:7)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:160:7)
at Function.Module.runMain (module.js:703:11)
at startup (bootstrap_node.js:193:16)
at bootstrap_node.js:617:3
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚问题是什么,任何帮助表示赞赏。
小智 12
我不确定这个答案在 4 个月后对您有多大用处,但我遇到了同样的问题,解决方案是为 AWS sdk 设置区域。对此有多种方法,我使用的方法是将 aws-sdk 拉入我的 server.js 文件并添加AWS.config.update({ region: "us-west-2" });
| 归档时间: |
|
| 查看次数: |
1214 次 |
| 最近记录: |