AWS лямбда-редактор HTML-шаблон с данными из DynamoDB
Я пытаюсь вставить данные, извлеченные из базы данных DynamoDB, в шаблон HTML, который хранится на S3 (по сути, заполнение пробелов в форме HTML). Я не очень хорошо разбираюсь в JavaScript, поэтому не совсем уверен, с чего начать.
До сих пор я был в состоянии извлечь HTML-документ из S3 и преобразовать его в строку UTF8... что, возможно, не является необходимым, но я просто практиковался в разговоре с S3 с помощью Lambda.
Нужно ли использовать стороннюю библиотеку, чтобы в HTML содержались переменные, которые я могу изменить? Или я могу как-то просто изменить внутренний HTML-код идентификатора ссылки?
Любая помощь будет принята с благодарностью!
РЕДАКТИРОВАТЬ: Основная цель здесь заключается в том, чтобы взять пользовательский ввод (сохраненный в DynamoDB), заполнить пробелы в форме HTML и преобразовать HTML в документ PDF.
Если кто-то может придумать лучший способ добавить пользовательский ввод в текстовый шаблон, а затем преобразовать его в PDF, я открыт для любых предложений!
Спасибо
1 ответ
Для вашего случая использования было бы более структурированным и обслуживаемым использовать легкую библиотеку шаблонов HTML.
Например, используя Lodash.js, вы можете сделать следующее.
_.template([string=''], [options={}])
Здесь вы можете определить переменные в html-файле со следующей разметкой, а затем прочитать содержимое файла и связать его с данными, полученными из DynamoDB, в качестве параметров для возврата окончательной строки HTML, которую вы можете сохранить обратно в файл в S3.
<div>
<h1>My name is <%- name %></h1>
<p>I like <%- hobbies %> but hate being a <%- occupation %></p>
</div>
var filledHTML = _.template("HTML string'', { name: "John", hobbies: "Reading", occupation: "developer"})
Примечание: используйте lodash.template npm для вашей лямбды.
npm i --save lodash.template