Я пытаюсь использовать RDSDataService для запроса базы данных Aurora Serverless.Когда я пытаюсь сделать запрос, моя лямбда просто отключается (я установил ее на 5 минут, чтобы убедиться, что это не проблема).У меня есть 1 запись в моей базе данных, и когда я пытаюсь запросить ее, я не получаю никаких результатов, и не вызываются ни ошибки, ни потоки данных.Я проверил, что executeSql вызывается путем удаления dbClusterOrInstanceArn из моих параметров, и он выдает исключение из-за его отсутствия.
Я также запустил SHOW FULL PROCESSLIST в редакторе запросов, чтобы убедиться, что запросы все еще выполняются, иони не.Я дал лямбда-правила как AmazonRDSFullAccess, так и AmazonRDSDataFullAccess, но безуспешно.Как видно из приведенного ниже кода, я уже попробовал то, что было рекомендовано в выпуске № 2376.
Не то, чтобы это имело значение, но эта лямбда запускается триггером Kinesis.
const AWS = require('aws-sdk');
exports.handler = (event, context, callback) => {
const RDS = new AWS.RDSDataService({apiVersion: '2018-08-01', region: 'us-east-1'})
for (record of event.Records) {
const payload = JSON.parse(new Buffer(record.kinesis.data, 'base64').toString('utf-8'));
const data = compileItem(payload);
const params = {
awsSecretStoreArn: 'arn:aws:secretsmanager:us-east-1:149070771508:secret:xxxxxxxxx,
dbClusterOrInstanceArn: 'arn:aws:rds:us-east-1:149070771508:cluster:xxxxxxxxx',
sqlStatements: `select * from MY_DATABASE.MY_TABLE`
// database: 'MY_DATABASE'
}
console.log('calling executeSql');
RDS.executeSql(params, (error, data) => {
if (error) {
console.log('error', error)
callback(error, null);
} else {
console.log('data', data);
callback(null, { success: true })
}
});
}
}
РЕДАКТИРОВАТЬ: мы выполнили команду через aws cli, и она возвращает результаты.
РЕДАКТИРОВАТЬ 2: я могу подключиться к нему с помощью пакета mysql2
и подключиться к нему через URIтак что это вызывающе проблема либо с aws-sdk
, либо с тем, как я его использую.