我一直在遵循javascript的aws-sdk来执行redshift集群上的sql查询,但无法连接。
有人可以指导我关于在javascript中使用红移连接的模块(除了node-redshift)或共享具有适当参数名称的骨架代码吗?
使用@aws-sdk/client-redshift
const RedShiftClient = new RedshiftClient({region:'us-west-2'});
const params = {
ClusterIdentified:'clustername-xxx-aws.com',
NodeType: 'nodetype',
MasterUsername:'user',
MasterPassword:'password',
ClusterType:'clustertype'
};
const command = new AcceptReservedNodeExchangeCommand(params);
redshiftClient.send(command)
.then(res=>{
//dosomething
})
.catch(err=>{
console.log(err);
});
接收错误:发现2个验证错误:'targeReservedNodeOfferingId'的值为空未能满足约束。成员不能为空。在'reserverNodeId'上的值为空,未能满足约束。成员不能为空。
使用JavaScript在Amazon Redshift上执行查询,使用RedshiftDataClient(而不是RedShiftClient))。在前面的链接中有一些例子。这是用于JavaScript v3的AWS SDK的一部分.
使用RedshiftDataClient对象来查询数据,您可以使用以下Amazon Redshift值:
- 数据库名(例如dev)
- 您配置的数据库用户名
- Amazon Redshift集群的名称(例如,Redshift -cluster-1)
这些值在创建ExecuteStatementCommand时使用如这里所讨论的:
https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-redshift-data/classes/executestatementcommand.html