我正在研究将AWS ELB登录到ElasticSearch的Lambda函数。我正在从S3读取ELB日志,每个文件包含大约500行,例如:
2016-08-10T01:03:42.216242Z foaas 66.249.79.176:61945 172.31.45.185:80 0.000044 0.194952 0.000039 200 200 0 30 "GET http://www.foaas.com:80/you/JSON/kelly HTTP/1.1" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" - -
因为字符串包含空格,分号,嵌套字符串,加号等。我真的不知道将每行转换为JSON的最佳方法。我尝试过使用split(),但是如果字符串中包含所有不寻常的字符,则无法让它发挥得很好。
我的计划是使用AWS here.
记录的字段设置关键:值对欢迎任何建议。
谢谢。
答案 0 :(得分:1)
您可以使用JSON功能:
JSON.parse(yourStringYouWantToPass);
要删除空格,可以使用以下正则表达式:
.replace(/\s+/g, '');
\ s是' whitespace'的正则表达式,g是" global" flag,意为ALL \ s(空格)。