AWS Kinesis Firehose Лямбда-преобразование данных с шифрованием в узле - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь записать преобразование данных для потока данных Aurora Postgres. Преобразование идентичности дает мне такие объекты:

{
    "type": "DatabaseActivityMonitoringRecords",
    "version": "1.0",
    "databaseActivityEvents": "AYADeLZrKReAa/7tgBmd/d06ybQAXwA...BABVoaWV1Fi8LyA==",
    "key": "AADDDVAS ...pztPgaw=="
}

Так что мне кажется, что мне нужно их расшифровать. У меня есть arn ключа, прикрепленного к рассматриваемой базе данных, но я не могу заставить преобразование данных работать. Вот что у меня есть:

console.log ('Функция загрузки');const zlib = требуется ('zlib');const AWS = require ('aws-sdk');

exports.handler = async (event, context) => {
    /* Process the list of records and transform them */

    const output = event.records.map((record) => {

        const keyId = "arn:aws:kms:us-east-1:501..89:key/1...d7"; // I don't need this?
        const CiphertextBlob = record.data;
        const kmsClient = new AWS.KMS({region: 'us-east-1'});
        const pt = kmsClient.decrypt({ CiphertextBlob }, (err, data) => {
          if (err) console.log(err, err.stack); // an error occurred
          else {
            const { Plaintext } = data;
            console.log(data);
            return Plaintext;
          }
        });
        return { old_data : record.data,};
    });
    console.log(`Processing completed.  Successful records ${output.length}.`);
    return { records: output };
};

Это приводит меня в замешательство ошибка "errorMessage": "Error: Unable to stringify response body" Я следую приведенному здесь примеру: https://docs.aws.amazon.com/kms/latest/developerguide/programming-encryption.html#decryption

Любая идея, чтоЯ тут не так делаю?

...