我使用无服务器和 Lambda 实现了 AWS 弹性搜索。我能够成功索引或删除文档,但在我尝试搜索数据时失败。
here is what I am doing.
var credentials = new AWS.EnvironmentCredentials('AWS');
var signer = new AWS.Signers.V4(request, 'es');
signer.addAuthorization(credentials, new Date());
var client = new AWS.HttpClient();
return new Promise(function(resolve, reject) {
client.handleRequest(request, null, function(response) {
console.log(response.statusCode + ' ' + response.statusMessage);
var responseBody = '';
response.on('data', function (chunk) {
responseBody += chunk;
});
response.on('end', function (chunk) {
console.log('Response body Index Document: ' + responseBody);
resolve(responseBody);
});
}, function(error) {
console.log('Error: ' + error);
resolve(error);
});
});
这在我索引数据或删除文档时有效。我在安全组中为 lambda 添加了一个自我引用的 rue。但是当我尝试搜索它时超时并且 lambda 函数有 'es:*'。
有什么想法吗?提前致谢。 萨吉德