gpt4 book ai didi

azure - 使用复制事件在 ADFv2 中解压缩 .zip 文件时保留内容类型

转载 作者:行者123 更新时间:2023-12-03 06:10:08 25 4
gpt4 key购买 nike

我正在使用 Azure 数据工厂 v2 通过复制事件解压缩包含不同文件(.html、.css 等)的大型 .zip。源数据集和接收器数据集都是普通的 Azure Blob 存储。

我遇到的问题是,所有解压文件的内容类型都是“application/octet-stream”,而不是“text/html”或“text/css”等。由于目标是将其解压缩到静态托管 blob 存储,因此八位字节流内容类型会阻止我正常打开 index.html,并且当我尝试访问它时它只会为我下载它。手动更改它是可行的,但这并不是真正的解决方案。

似乎复制事件中应该有一个选项,因此设置要保留的属性(请参阅 https://learn.microsoft.com/en-us/azure/data-factory/copy-activity-preserve-metadata ),但我的 Web 界面中没有此选项,并且在 json 中设置它也不起作用任何东西 - 它只是在保存新的 json 定义后被删除。

有没有办法仅通过数据工厂工具/配置来解决这个问题?因为使用额外的 azure 函数再次更改所有内容类型不是一个可行的选择。

谢谢!

最佳答案

要在复制事件设置中启用保留选项,您需要在源中选择要处理的特定文件。当您处理 Zip 文件时,它将不会被启用。

据我所知content-type是blob的一个属性,application/octet-stream是它的默认值。

解决方法只是按照您的建议使用附加的 azure 函数来更改所有内容类型或使用 Rest api 设置 blob 的属性。

  • 使用 Rest api您可以设置blob存储的属性。
  • 使用附加的 Azure 函数更改所有内容类型。

您可以从 ADF 使用它。首先,您需要从获取元数据中获取所有文件的列表。 enter image description here然后将这些值传递到 foreach 循环中。 enter image description here在 foreach 事件下,借助基于文件名或扩展名的切换条件,您可以使用 azure 函数或 REST Api 更改其内容类型。 enter image description here如果文件名包含 html ,上述条件将执行第一种情况,如果文件名包含 css ,则执行第二种情况,依此类推,根据您的需要,在每种情况下您需要执行适当的函数或休息API。

关于azure - 使用复制事件在 ADFv2 中解压缩 .zip 文件时保留内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76889026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com