Birt - Использование Amazon Javascript SDK в отчете
Я очень новичок в Birt, который только что начал две недели назад, я не смог найти ни одной связанной темы на форумах, поэтому я публикую новую, пожалуйста, поделитесь ссылкой, если проблема уже обсуждалась,
У меня есть несколько файлов изображений, хранящихся в корзине Amazon S3, в которой используются защищенные URL-адреса, поэтому я не могу просто встраивать их, говорит, что доступ запрещен, для этого мне нужно использовать AWS Javascript SDK, который позволяет мне передавать ключ Sceret и Access и файл, к которому я хочу получить доступ, чтобы получить предварительно подписанный URL-адрес, который я могу использовать в любом месте, чтобы получить этот файл,
пока все хорошо,
Теперь я хочу выполнить аутентификацию и получить предварительно подписанный URL-адрес в отчете, для этого мне нужно включить этот файл sdk javascipt aws-sdk-2.1.45.min.js в отчет и вот где я застрял,
Я попытался добавить Javascript SDK с помощью ресурсов отчета
но отчет даже не запускается может быть некоторые другие javascript conflcts, я получаю en error
Затем я попытался добавить этот JS с помощью элемента Text
Теперь SDK включен в отчет
Но когда я пытаюсь использовать код JavaScript
выдает ошибку, что AWS не определено,
Я также попытался использовать раздел clientScript отчета head.js(), здесь все работает нормально, но как мне получить доступ к объекту, который я получаю после аутентификации в отчете
AWS.config.update({accessKeyId: 'xxxxx', secretAccessKey: 'xxxxxxxxxxx'});
AWS.config.region = 'eu-west-1';
var s3 = new AWS.S3();
так что я могу передать защищенный URL-адрес изображения (который находится в базе данных) в объект s3 и получить общедоступный URL-адрес, используя этот объект аутентификации, и установить его обратно для изображения URL-адреса,
Если у кого-то есть идеи, пожалуйста, поделитесь, где я делаю ошибку,
Большое спасибо!
1 ответ
Вы, вероятно, хотите использовать AWS SDK для Java, а не Javascript. Загрузите его, добавьте aws-java-sdk-1.10.11.jar и его зависимости к jar-ресурсам отчета или к вашему class-path. Таким образом, вы сможете вызывать API-интерфейсы AWS во всех регулярных выражениях BIRT, даже в вычисляемом столбце набора данных.
importPackage(Packages.com.amazonaws.services.s3);
var s3=new AmazonS3Client();
Однако при использовании API JavaScript, как вы уже пробовали, AWS вызывается с точки зрения клиента, и результаты не могут быть обработаны на стороне сервера. Возможно, по-прежнему возможно (но болезненно) отображать изображения в формате HTML, но не в форматах PDF и Office.