我让我的nodejs lambda尝试将数据索引到ES中,但由于此错误而失败:
2018-01-15T23:39:09.578Z(节点:1(未处理的承诺拒绝警告:未处理的承诺拒绝(拒绝ID:131(:授权异常::
用户:匿名无权执行:es:ESHttp帖子在资源:****
我已将 AmazonESFullAccess 策略应用于 Lambda 函数 role.
我错过了什么?
我能够解决这个问题。代码缺少"connectionClass"和"amazonES"参数。
var AWS = require('aws-sdk');
var connectionClass = require('http-aws-es');
var elasticsearch = require('elasticsearch');
var elasticClient = new elasticsearch.Client({
host: ***,
log: 'error',
connectionClass: connectionClass,
amazonES: {
credentials: new AWS.EnvironmentCredentials('AWS')
}
});