【发布时间】:2020-07-25 12:34:20
【问题描述】:
我遇到了一个我认为应该发布到互联网上的问题。我可能不知道内部问题,但我想我有一个解决方案。无论如何问题:
我在 AWS 上托管一个 ElasticSearch 服务,我正在尝试在本地访问该服务,或者通过我在 AWS 上托管的 ec2 服务访问该服务。
但是当我尝试在本地时,我得到了这个错误:Request Timeout after 30000ms
当我在我的 ec2 上尝试时,我收到了这个错误:AWS Credentials error: Could not load credentials from any providers
这是我设置凭据并进行查询的方式:
const AWS = require('aws-sdk');
const connectionClass = require('http-aws-es');
const elasticsearch = require('elasticsearch');
try {
var elasticClient = new elasticsearch.Client({
host: "https://some-elastic.us-east-1.es.amazonaws.com/",
log: 'error',
connectionClass: connectionClass,
amazonES: {
region: 'us-east-1',
credentials: new AWS.Credentials('id', 'key')
}
});
elasticClient.indices.delete({
index: 'foo',
}).then(function (resp) {
console.log("Successful query!");
console.log(JSON.stringify(resp, null, 4));
}, function (err) {
console.trace(err.message);
});
} catch (err) {
console.log(err);
} finally {
}
如前所述,我不断收到此错误。我尝试了许多其他变体来传递凭据。
【问题讨论】:
标签: node.js amazon-web-services elasticsearch