首页 文章

AWS lambda使用DynamoDB中的数据编辑html模板

提问于
浏览
0

我试图将从DynamoDB数据库检索到的数据插入存储在S3上的HTML模板(基本上填写HTML表单上的空白) . 我不是很精通JavaScript,所以我不确定从哪里开始 .

到目前为止,我已经能够从S3检索HTML文档并转换为UTF8字符串...这可能没有必要,但我只是练习与Lambda谈论S3 .

我是否需要使用第三方库以使HTML包含我可以更改的变量?或者我可以以某种方式更改ID'd ref的内部HTML?

任何帮助将不胜感激!

编辑:这里的主要目标是获取用户输入(存储在DynamoDB上),填写HTML表单上的空白,以及将HTML转换为PDF文档 .

如果有人能想出更好的方法将用户输入添加到文本模板然后将其转换为PDF,我愿意接受任何建议!

谢谢

1 回答

  • 0

    对于您的用例,使用轻量级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作为lambda .

    npm i --save lodash.template
    

相关问题