首页 > 解决方案 > 直接在 AWS S3 上解析 xml 文件

问题描述

我需要直接在 S3 Bucket 上解析一些 xml 文件

我需要提取的是:<assemblyIdentity name="Anthea Services" version="10.5.20276.322"

并且总是放在 xml 的第二行:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity name="Anthea Services" version="10.5.20276.322" publicKeyToken="56904a0c05b434f1" language="it-IT" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />

要提取这些值,可以将文件视为 xml 或文本,只需解析文本并搜索字符串(我需要捕获的值位于文件的开头,始终位于第二行,因此我可以获得如果可能的话,文件的一部分)无论如何,不​​管提取这些值的方法我想直接使用一些 AWS 服务来完成这项工作,而无需在其他地方下载文件(直接在 S3 存储桶上)

我知道有“雅典娜”服务允许用类似 sql 的语言查询 S3 存储桶上的文件,但这些文件应该是 csv、json 或 parquet,我的是 xml,

即使我的文件不是实时创建但它们已经在存储桶中,另一个解决方案可能是“kinesis”(从 S3 摄取)

是否存在其他解决方案?有人可以建议我一个可行的解决方案和一些详细的步骤来实现它吗?

标签: xmlamazon-s3xml-parsingamazon-athenaamazon-kinesis

解决方案


推荐阅读