我有我的 nodejs lambda 试图将数据索引到 ES,但由于这个错误而失败了:
2018-01-15T23:39:09.578Z (node:1) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 131): Authorization Exception ::
User: anonymous is not authorized to perform: es:ESHttpPost on resource: ****
我已将 AmazonESFullAccess 策略应用于 Lambda 函数角色。
我错过了什么?
最佳答案
我能够解决这个问题。代码缺少“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')
}
});
关于node.js - 如何从 Node JS 访问 AWS Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48273935/