elasticsearch,Node.js,Amazon Web Services,elasticsearch" /> elasticsearch,Node.js,Amazon Web Services,elasticsearch" />

Node.js 如何通过react js中的javascript客户端连接到aws弹性搜索?

Node.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

我有一个react js with typescript项目和下面的代码。以下是我遵循的步骤。我运行以下命令进行安装,然后运行代码。它总是超时。我使用的密钥属于对ES域具有完全访问权限的aws用户。此外,我发现它正在被使用,这是其他人的代码,因此(就在下面)

它定义了亚马逊(上面用粗体表示)。当我尝试如上所述使用时,amazonES甚至没有为elasticsearch客户端定义,是不是在以前的版本中???下面是mycode

  • npm安装elasticsearch7.x(下载了最新版本elasticsearch.js 16.7.1->)

  • npm安装http aws es

  • npm安装aws sdk

  • 代码是

    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');
      }
    });