Azure数据工厂-如何使用ForEach循环迭代和读取CSV文件中的记录?

mi7gmzs6  于 2023-09-28  发布在  其他
关注(0)|答案(2)|浏览(114)

我需要为dataverse中的每一行生成一个唯一的“guid”,为此,我在复制活动中使用了一个额外的列,如下所示。

由于它为每一行生成相同的guid,因此我尝试使用查找并迭代“For Each”循环,如下所示。

在“For Each”循环中,我使用以下表达式来检索值:

@activity('Lookup1').output.value

但是,我遇到了这个错误:

以下是查找活动的示例输出:我使用.csv文件作为源

{
    "firstRow": {
        "Bill-to Customer Name": "****",
        "Bill-to Customer No_": "****",
        // ... (other fields)
        "ProjectCustomer_FullName": "****",
        "ProjectCustomer_ID": "****"
    },
    "effectiveIntegrationRuntime": "****",
    "billingReference": {
        "activityType": "****",
        // ... (other billing reference fields)
    },
    "durationInQueue": {
        "integrationRuntimeQueue": ****
    }
}

如何解决这个问题?感谢你的帮助。

vddsk6oq

vddsk6oq1#

要使用ForEach迭代CSV文件,需要在查找中禁用**First row only。我得到了同样的错误,当我在ForEach中使用表达式@activity('Lookup1').output.value而没有在查找中禁用First row only**时。

因为,First row only将给予csv的第一行作为对象。
禁用它将从csv中给予Lookup输出数组,您可以看到禁用它后My pipeline运行时没有任何错误。

在ForEach中使用相同的@activity('Lookup1').output.value来使用查找输出数组。在ForEach中,您可以通过@item().<property_name>@item()['<property_name>']访问此数组值。

yqyhoc1h

yqyhoc1h2#

请尝试@activity('Lookup 1').output.firstRow.ProjectCustomer_ID

相关问题