如何使用datafactory管道转换xml数据

如何使用datafactory管道转换xml数据,xml,azure-data-factory,azure-data-factory-2,Xml,Azure Data Factory,Azure Data Factory 2,如何将XML有效负载中的数据保存到blob存储? 输入 <root> <alexIsAwesome>yes he is</alexIsAwesome> <bytes>sdfsdfjijOIJOISJDFQPWORPJkjsdlfkjlksdf==</bytes> </root> <root> <alexIsAwesome>yes he is</alexIsAwesome>

如何将XML有效负载中的数据保存到blob存储?

输入

<root>
  <alexIsAwesome>yes he is</alexIsAwesome>
  <bytes>sdfsdfjijOIJOISJDFQPWORPJkjsdlfkjlksdf==</bytes>
</root>
<root>
  <alexIsAwesome>yes he is</alexIsAwesome>
  <bytes>/blob/path/toSavedPayload</bytes>
</root>

是的,他是
SDFSDFJIJOISJDFQPWRJKJSDLFKJLKSDF==
期望的结果

<root>
  <alexIsAwesome>yes he is</alexIsAwesome>
  <bytes>sdfsdfjijOIJOISJDFQPWORPJkjsdlfkjlksdf==</bytes>
</root>
<root>
  <alexIsAwesome>yes he is</alexIsAwesome>
  <bytes>/blob/path/toSavedPayload</bytes>
</root>

是的,他是
/blob/path/toSavedPayload
  • 将字节保存在blob中的某个位置
  • 将字节替换为保存字节的URI

  • 如何使用数据工厂从XML提取节点并将其保存到blob?

    目前,ADF本机不支持XML。但是

  • 您可以编写自己的代码,然后使用ADF
  • SSIS内置了对的支持。也许你可以看看

  • 对于这种情况,您必须使用一些自定义代码来执行此操作。我会从这些选项中选择

    • Azure函数-仅用于一些简单的数据处理
    • Azure Databricks-如果您需要处理一些大型XML数据

    由于Azure Data Factory本机不支持XML,我建议您使用SSIS包

  • 在数据流任务中,使用XML源并将XML中的字节读取到DT_Image数据类型的变量中
  • 创建一个脚本任务,将在步骤1中获得的字节数组(DT_映像)上传到azure blob存储,如下所述。代码根据需求稍微修改
  • 现在,在Azure Data Factory的SSIS运行时中托管此SSIS包并执行SSIS包

  • 我只是想知道,你为什么要提到SSI?您是说我们可以从SSIS导出并导入ADF?是的,您可以“提升并转移”现有SSIS包到集成服务的云实例。在这里阅读更多:@MartinEstebanZurita会喜欢一个SSIS包的例子,它可以进行XML转换,然后如何将其提升并转换为ADFXML现在在ADF中得到支持。。。需要更多的信息-定义XML负载吗?你是说它是data lake中的一个文件,还是从web或数据库调用返回到ADF管道中?xml blob存储在存储帐户中,我正在寻找类似于常规XSLT转换的功能。我使用Azure批处理自定义活动来解决此问题。这里是我提到的另一个答案:XML现在在ADF中得到支持。。。XML现在在ADF中受支持。。。