我在一个地方,我设法从oracle DB获取数据并将数据对象转换为csv缓冲区,然后将其上载/放置到AWS S3 Bucket.say'output.csv'中的csv文件中。现在,我正在尝试阅读此csv 文件'output.csv'并将这些行写入html表中,并以index.html的形式放回S3存储桶中,以便我可以将其附加到团队中用户的电子邮件中。
//below i'm reading data from s3 object
let readParam = {
Bucket: process.env.BUCKET_ON_S3,
Key: process.env.CSV_OUTPUT_FILE
};
s3Param.getObject(readParam, function(err, data){
const body = Buffer.from(data.Body).toString('utf8');
console.log(body);
})
// below is the output
TEST_XXXXX_ROW1,352,High,Warning,7
TEST_XXXXX_ROW2,346,High,Error,11
TEST_XXXXX_ROW3,349,Low,Error,431
现在,我们必须将此数据写入表中的单独单元格中,并将其上传到S3存储桶中的index.html。
当我尝试从s3存储桶读取output.csv并创建包含内容的html表时,我看到了问题。当我加载HTML时,我看到以下错误
ReferenceError: d3 is not defined
下面是我尝试过的代码 Index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
table {
border-collapse: collapse;
border: 2px black solid;
font: 12px sans-serif;
}
td {
border: 1px black solid;
padding: 5px;
}
</style>
</head>
<body>
<!-- <script src="http://d3js.org/d3.v3.min.js"></script> -->
<script src="d3.min.js?v=3.2.8"></script>
<script type="text/javascript"charset="utf-8">
let readParam = {
Bucket: process.env.BUCKET_ON_S3,
Key: process.env.CSV_OUTPUT_FILE
};
d3.text(readparam, function(data) {
var parsedCSV = d3.csv.parseRows(data);
var container = d3.select("body")
.append("table")
.selectAll("tr")
.data(parsedCSV).enter()
.append("tr")
.selectAll("td")
.data(function(d) { return d; }).enter()
.append("td")
.text(function(d) { return d; });
});
</script>
</body>
</html>
有没有更好的方法来实现这一点?