Я работаю с кодом, который будет запрашивать таблицу, содержащую varbinary данные, и использовать эти данные для создания файла в корзине S3.Данные varbinary были взяты из файла Excel.
Из-за проблем с подключением сервера к aws lambda у меня есть только жестко закодированная строка varbinary для работы, и поэтому я использую ее как пример данных для вставки вS3 Bucket
Я читал, что из-за того, как sql кодирует varbinary данные, он должен быть сначала закодирован в utf8, а затем в base64.Однако это не сработало.Я также пробовал другие форматы кодирования.
Я использую приведенный ниже код безуспешно
var AWS = require('aws-sdk');
const s3 = new AWS.S3();
exports.handler = async (event) => {
var body = new Buffer.from(<sql varbinary string>).toString('utf8');
var decbody = new Buffer.from(body,'base64');
var a = await s3.upload({
Key: 'key.xls',
Bucket: 'testbucket',
Body: decbody
//ContentType: 'application/vnd.ms-excel'
}).promise();
console.log(a);
};
Я ожидаю, что данные преобразуются как правильный файл Excel в корзину S3.Однако, хотя данные действительно создаются в виде файла Excel, данные внутри повреждены и представляют собой просто набор символов