标签: azure-data-factory

获取子文件夹Azure数据工厂中的所有文件名

我在数据湖中有一个以下文件夹结构,我想从 ParentFolder 目录的所有子文件夹中获取所有 .csv 文件名。我的所有文件都是 .csv 文件,是否有一种使用元数据活动的简单方法。

父文件夹 > 年=2020 文件夹

          2020-10-20Folder > 2020-10-20.csv

          2020-10-21Folder > 2020-10-21.csv

          2020-10-22Folder > 2020-10-22.csv
Run Code Online (Sandbox Code Playgroud)

azure azure-data-factory

3
推荐指数
1
解决办法
2万
查看次数

使用 azure devops 的 ADF 部署是否会影响环境中的现有管道/作业

我正在 Azure 数据工厂中实施 azure devOps。

我的开发环境 ADF 已集成到 git 存储库。

我创建了一个构建管道,用于在 adf_publish 分支发生更改时构建工件。

我的下一步是将 ARM 模板工件部署到 PROD 环境。

假设当 DEV 更改部署到 PROD 时,PROD 环境中有许多触发的管道,并且 PROD 环境中运行的管道很少。

我的问题是:

  1. 如何将变更从 DevOps 部署到 PROD 环境?它会删除并替换 DevOps 中的所有管道和触发器,还是只会选择更改并更新 PROD 环境,而不触及未更改的管道?
  2. 假设部署时有一个管道正在 PROD env 中运行,那么该管道运行会发生什么情况?
  3. 假设有一个在 3:00 触发的管道,部署在 2:55 开始并在 3:05 结束。原定于 3:00 运行的触发管道会发生什么情况?

有谁对上述问题有清楚的了解,或者是否有任何文档可供参考来获得这些问题的答案?

Keeping deployment mode as Incremental instead of keeping it as Complete我在ARM模板部署的时候就经历过。该选项可以完成我上面要求的所有任务吗?

azure azure-data-factory azure-devops

3
推荐指数
1
解决办法
994
查看次数

如何从 Azure 数据工厂中具有动态长度的字符串中删除最后三个字符?

我在 Azure 数据工厂 (v2) 中有一个字符串变量,我想从中删除最后 3 个字符。最初我以为使用子字符串操作,它需要startIndex和length参数。然而,startIndex 可能会有所不同,因为字符串没有固定长度。关于如何解决这个问题有什么建议吗?

例如,删除最后 3 个字符,字符串长度不同:

'abcdef' -> 'abc'
'helloworld' -> 'hellowo'
'2020_18' -> '2020'
Run Code Online (Sandbox Code Playgroud)

substring azure azure-data-factory

3
推荐指数
1
解决办法
1万
查看次数

Azure数据工厂:返回指定范围内的日期数组

我正在尝试返回数据工厂中的日期数组。但我只想用户指定带有两个参数 startDate 和 endDate 的日期范围:

我想通过在触发器中指定“12-08-2020”和“12-13-2020”来返回此数组:

["12-08-2020","12-09-2020","12-10-2020","12-12-2020","12-13-2020"]
Run Code Online (Sandbox Code Playgroud)

Do 还没有找到简单的方法来做到这一点。我想到的一种方法是:

  • 在日期维度上添加查找活动,
  • 然后添加两个过滤器以仅选择大于 startDate 且小于 endDate 的项目。

但这似乎很麻烦而且矫枉过正。有更简单的方法吗?


编辑 :


这个答案似乎是相关的(我一开始没有看到它):用开始日期和结束日期执行 azure datafactory foreach 活动

date azure-data-factory

3
推荐指数
1
解决办法
3204
查看次数

使用 JSON 为数据工厂中的每个循环提供数据

数据工厂新手,我正在努力解决以下问题:

我有一个 Web 活动,它调用 API 并返回以下 JSON:

{
"ResponseCode": 200,
"ResponseText": "OK",
"Data": {
    "ramco_purchaseordershipment": "ramco_purchaseordershipment",
    "ramco_ramco_paymentschedule_cobalt_duesoption": "ramco_ramco_paymentschedule_cobalt_duesoption",
    "cobalt_accountingintegrationbatch": "cobalt_accountingintegrationbatch",
    "opportunitycompetitors": "OpportunityCompetitors"}
Run Code Online (Sandbox Code Playgroud)

}

其中代表 Dynamics 365 DB 中的实体名称。

我将 For-Each 活动设置项添加到:

@array(activity('Web1').output.Data)
Run Code Online (Sandbox Code Playgroud)

这最终给了我一个不是我想要的单个项目数组。

我想要完成的是迭代 ramco_purchaseordershipment、ramco_ramco_ paymentschedule_cobalt_duesoption 等,然后使用每个值作为参数触发另一个管道。

我知道这很愚蠢,但我整个下午都盯着它看,但没有运气。

谢谢!

迈克尔

azure-data-factory

3
推荐指数
1
解决办法
7798
查看次数

以编程方式获取 ADF 管道消耗报告

我有兴趣查询数据工厂监视器中提供的管道消耗报告。Log Analytics 或 PowerShell cmdlet 上是否有一个表可以返回此信息?我检查了 ADFv2 PowerShell 模块,但找不到任何模块。我的目标是汇总本报告中提供的信息,以确定哪些是成本最高的管道。

在此输入图像描述

参考: https: //techcommunity.microsoft.com/t5/azure-data-factory/new-adf-pipeline-conspiration-report/ba-p/1394671

谢谢

azure cost-management azure-data-factory

3
推荐指数
1
解决办法
1547
查看次数

具有改进的 CI/CD 的 Azure 数据工厂部署

我遵循此处发布的为 ADF 设置的新推荐 ci/cd:https://learn.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment-improvements

我不清楚的一个部分是,您现在是否需要管道发布到的额外“开发”ADF。

在旧模型下,您将在链接到 git 的 ADF 中完成开发工作,执行拉取请求以合并回协作分支,然后单击发布。这将发布到同一 ADF 中的 adf_publish 分支。

使用新模型时,您是否有一个链接到 git 的 ADF,您可以像以前一样进行开发工作 - 但管道是否部署到一个新的单独的“dev”ADF(未链接到 git)?

azure-data-factory azure-devops

3
推荐指数
1
解决办法
2166
查看次数

无法将未知放入函数参数字符串列表项

我正在尝试使用表达式从表名中删除 dbo。

TableName: dbo.product

@concat('schema.',split(item().tablename,'.')[1])
Run Code Online (Sandbox Code Playgroud)

我需要将表名中的 dbo 替换为架构。有人可以帮忙吗?我尝试了上面的代码,但它给出了一个错误:无法将未知内容放入函数参数字符串列表项中。

expression azure-data-factory

3
推荐指数
1
解决办法
4122
查看次数

Azure 数据工厂 CI npm 验证步骤突然崩溃

我们一直在使用 Azure 数据工厂的“新”CICD 设置,如文档页面所述:https: //learn.microsoft.com/en-us/azure/data-factory/continuous-integration-delivery-improvements。我们使用用 YAML 编写的 Azure DevOps 管道来执行此操作。

这对我们来说一直运行得很好,直到今天早上它在验证步骤中突然开始崩溃。我们这边没有更改任何代码。我想知道版本号是否存在问题或不兼容,但我找不到任何内容。

有问题的 Azure YAML 代码是这样的:

  - task: Npm@1
    displayName: 'Validate ADF json'
    inputs:
      command: 'custom'
      workingDir: $(packageJsonFolder)
      customCommand: 'run build validate $(Build.Repository.LocalPath)/DataFactories/${{ parameters.folderName }} $(adfAzureResourceId)'
Run Code Online (Sandbox Code Playgroud)

完整的错误消息日志如下:

node  /home/vsts/work/1/s/DataFactories/downloads/main.js validate /home/vsts/work/1/s/DataFactories/internaldataload /subscriptions/xxxxxxxxxxxxxxxx/resourceGroups/xxxxxxxxxxxxxx/providers/Microsoft.DataFactory/factories/xxxxx

/home/vsts/work/1/s/DataFactories/node_modules/@microsoft/azure-data-factory-utilities/lib/bundle.manager.js:53
                    throw "Execution failed with exit code: " + exitCode;
                    ^
Execution failed with exit code: 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ build: `node node_modules/@microsoft/azure-data-factory-utilities/lib/index "validate" "/home/vsts/work/1/s/DataFactories/internaldataload" "/subscriptions/xxxxxxxxxxxxxxxx/resourceGroups/xxxxxxxxxxxxxx/providers/Microsoft.DataFactory/factories/xxxxx"`
npm ERR! Exit status …
Run Code Online (Sandbox Code Playgroud)

azure-data-factory azure-devops azure-pipelines-yaml cicd

3
推荐指数
1
解决办法
1736
查看次数

无法使用数据工厂管道将数据从 azure data Lake gen2 复制到 azure sql db

失败发生在“Sink”一侧。ErrorCode=UserErrorInvalidColumnName,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=在目标端找不到列 Prop_0,Source=Microsoft.DataTransfer.ClientLibrary。

ADLS GEN2 中的所有零件文件都有 8 列,接收器表也有 8 列,并且零件文件中没有名为 Prop_0 的此类列。

输入是保存在 ADLS GEN2 中的零件文件 - 在此输入图像描述

零件文件之一的内容 - 在此输入图像描述

在 ADF 上映射 -

在此输入图像描述

在 Azure 查询编辑器上执行的 sql 查询的输出 -

在此输入图像描述

azure azure-data-factory azure-sql-database azure-data-lake

3
推荐指数
1
解决办法
5816
查看次数