在Azure数据工厂中获取blob文件的自定义元数据

gdrx4gfi  于 2023-06-07  发布在  其他
关注(0)|答案(2)|浏览(137)

我有几个100个文件在一个文件夹中的Blob存储。每个文件都有自定义元数据(字典类型)。因此,当遍历所有文件时,我需要获取每个文件的元数据。
如何阅读这些细节。我尝试使用GetMetadata功能,它具有一些硬编码功能,如,exists,filename,lastedit等。但我需要那些文件的自定义元数据。
请分享一些想法。

polhcujo

polhcujo1#

@Sandeep
我假设您希望通过GetMetadataFeature获取用户定义的元数据。
不幸的是,这目前是不可能的-活动只返回预定义的Metada集。
支持的元数据列表已记录为here

解决方法

我能想到的一种解决方法是利用ADF中的Web Activity并命中REST API Get Blob Properties
Get blob properties API返回blob的所有用户定义的元数据、标准HTTP属性和系统属性。

gj3fmq9x

gj3fmq9x2#

您实际上可以获得有问题的文件的自定义元数据,但需要跳过一些步骤。在下面的示例中,我在特定文件上设置了一个名为maxmodifieddate的自定义元数据属性。在Get Metadata练习中,转到Settings选项卡并选择Add dynamic content。输入值userProperties

这将返回userProperties数组,但值将以Base64编码:

您可以使用decodeBase64函数来检索变量值,如下所示:

@decodeBase64(replace(activity('Get Metadata1').output.userProperties, 'MaxModifiedDate=', ''))

它最终将输出您的元数据值(在本例中保存到名为myvar的变量):

相关问题