Node.js 如何通过react js中的javascript客户端连接到aws弹性搜索?
我有一个react js with typescript项目和下面的代码。以下是我遵循的步骤。我运行以下命令进行安装,然后运行代码。它总是超时。我使用的密钥属于对ES域具有完全访问权限的aws用户。此外,我发现它正在被使用,这是其他人的代码,因此(就在下面) 它定义了亚马逊(上面用粗体表示)。当我尝试如上所述使用时,amazonES甚至没有为elasticsearch客户端定义,是不是在以前的版本中???下面是mycodeNode.js 如何通过react js中的javascript客户端连接到aws弹性搜索?,node.js,amazon-web-services,elasticsearch,Node.js,Amazon Web Services,elasticsearch,我有一个react js with typescript项目和下面的代码。以下是我遵循的步骤。我运行以下命令进行安装,然后运行代码。它总是超时。我使用的密钥属于对ES域具有完全访问权限的aws用户。此外,我发现它正在被使用,这是其他人的代码,因此(就在下面) 它定义了亚马逊(上面用粗体表示)。当我尝试如上所述使用时,amazonES甚至没有为elasticsearch客户端定义,是不是在以前的版本中???下面是mycode npm安装elasticsearch7.x(下载了最新版本elastic
import es from 'elasticsearch';
import connectionClass from 'http-aws-es';
import AWS from 'aws-sdk';
let client = elasticsearch.Client({
hosts: ['host'],
connectionClass: require('http-aws-es'),
awsConfig: new AWS.Config({
accessKeyId: 'AKID', secretAccessKey: 'SECRET', region: 'us-west-2'
})
});
client.ping({
requestTimeout: 5000
}, function (error) {
if (error) {
console.log(error);
} else {
console.log('success');
}
});
通常我不使用来自基于浏览器的应用程序的aws凭据。因为任何人都可以看到你网站的来源,并在那里找到你的凭据。你在看什么文章吗。我能看一下吗?@ArunK-这不是在浏览器上运行的。它是服务器上的后端节点应用程序。在这种情况下,为什么必须配置访问凭据。您可以使用IAM角色。或者你正在本地机器上测试这个?
import es from 'elasticsearch';
import connectionClass from 'http-aws-es';
import AWS from 'aws-sdk';
let client = elasticsearch.Client({
hosts: ['host'],
connectionClass: require('http-aws-es'),
awsConfig: new AWS.Config({
accessKeyId: 'AKID', secretAccessKey: 'SECRET', region: 'us-west-2'
})
});
client.ping({
requestTimeout: 5000
}, function (error) {
if (error) {
console.log(error);
} else {
console.log('success');
}
});