我的nodejs lambda尝试将数据索引到ES中,但由于此错误而失败:
2018-01-15T23:39:09.578Z(节点:1)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:131):授权例外::
用户:匿名无权执行:es:资源上的ESHttpPost:****
我已将AmazonESFullAccess策略应用于Lambda函数角色 我错过了什么?
答案 0 :(得分:5)
我能够解决这个问题。代码缺失' 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')
}
});