可能是因为缺少IAM角色或连接信息等配置导致无法找到关系。以下是示例代码,显示了如何在AWS Lambda中使用AWS SDK for JavaScript来连接Redshift:
var AWS = require('aws-sdk');
var redshiftdata = new AWS.RedshiftData();
var params = {
sql: 'SELECT * FROM mytable',
database: 'mydatabase',
dbUser: 'myuser',
secretArn: 'arn:aws:secretsmanager:us-west-2:123456789012:secret:MyRedshiftSecret-AbCdEf',
clusterIdentifier: 'mycluster',
outputFormat: 'JSON'
};
exports.handler = async (event) => {
try {
const data = await redshiftdata.executeStatement(params).promise();
console.log(data);
return data;
} catch (error) {
console.log(error);
throw error;
}
};
请确保设置了正确的IAM角色和连接信息,包括数据库名称、数据库用户、Redshift集群标识符、Secret Manager中的ARN以及所需的SQL语句。如果仍然无法找到关系,请检查Redshift中的数据库和表是否正确配置,并且IAM角色是否具有相应的权限。