我在数据湖中有一个以下文件夹结构,我想从 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 devOps。
我的开发环境 ADF 已集成到 git 存储库。
我创建了一个构建管道,用于在 adf_publish 分支发生更改时构建工件。
我的下一步是将 ARM 模板工件部署到 PROD 环境。
假设当 DEV 更改部署到 PROD 时,PROD 环境中有许多触发的管道,并且 PROD 环境中运行的管道很少。
我的问题是:
有谁对上述问题有清楚的了解,或者是否有任何文档可供参考来获得这些问题的答案?
Keeping deployment mode as Incremental instead of keeping it as Complete我在ARM模板部署的时候就经历过。该选项可以完成我上面要求的所有任务吗?
我在 Azure 数据工厂 (v2) 中有一个字符串变量,我想从中删除最后 3 个字符。最初我以为使用子字符串操作,它需要startIndex和length参数。然而,startIndex 可能会有所不同,因为字符串没有固定长度。关于如何解决这个问题有什么建议吗?
例如,删除最后 3 个字符,字符串长度不同:
'abcdef' -> 'abc'
'helloworld' -> 'hellowo'
'2020_18' -> '2020'
Run Code Online (Sandbox Code Playgroud) 我正在尝试返回数据工厂中的日期数组。但我只想用户指定带有两个参数 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 还没有找到简单的方法来做到这一点。我想到的一种方法是:
但这似乎很麻烦而且矫枉过正。有更简单的方法吗?
编辑 :
这个答案似乎是相关的(我一开始没有看到它):用开始日期和结束日期执行 azure datafactory foreach 活动
数据工厂新手,我正在努力解决以下问题:
我有一个 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 等,然后使用每个值作为参数触发另一个管道。
我知道这很愚蠢,但我整个下午都盯着它看,但没有运气。
谢谢!
迈克尔
我有兴趣查询数据工厂监视器中提供的管道消耗报告。Log Analytics 或 PowerShell cmdlet 上是否有一个表可以返回此信息?我检查了 ADFv2 PowerShell 模块,但找不到任何模块。我的目标是汇总本报告中提供的信息,以确定哪些是成本最高的管道。
谢谢
我遵循此处发布的为 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)?
我正在尝试使用表达式从表名中删除 dbo。
TableName: dbo.product
@concat('schema.',split(item().tablename,'.')[1])
Run Code Online (Sandbox Code Playgroud)
我需要将表名中的 dbo 替换为架构。有人可以帮忙吗?我尝试了上面的代码,但它给出了一个错误:无法将未知内容放入函数参数字符串列表项中。
我们一直在使用 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) 失败发生在“Sink”一侧。ErrorCode=UserErrorInvalidColumnName,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=在目标端找不到列 Prop_0,Source=Microsoft.DataTransfer.ClientLibrary。
ADLS GEN2 中的所有零件文件都有 8 列,接收器表也有 8 列,并且零件文件中没有名为 Prop_0 的此类列。
在 ADF 上映射 -
在 Azure 查询编辑器上执行的 sql 查询的输出 -