Azure Data Factory YML CI/CD流水线npm校验出现路径相关错误求助
问题排查与解决步骤
1. 修正validate/export命令的参数格式
ADF Utilities包的validate和export命令要求传入两个必填参数,你当前的配置把两个参数拼接为一个路径,导致执行错误:
- 第一个参数:代码仓库的根目录,固定为
$(Build.Repository.LocalPath) - 第二个参数:ADF实例的完整资源ID路径,从
/subscriptions/开头即可
修正后的Validate步骤命令如下:
customCommand: 'run build validate $(Build.Repository.LocalPath) /subscriptions/000000-0000-0000-974d-864d437bd294/resourceGroups/rg-hi-joaov1-dev/providers/Microsoft.DataFactory/factories/adf-client-joaov1-dev'
对应Export步骤命令修正为:
customCommand: 'run build export $(Build.Repository.LocalPath) /subscriptions/000000-0000-0000-974d-864d437bd294/resourceGroups/rg-hi-joaov1-dev/providers/Microsoft.DataFactory/factories/adf-client-joaov1-dev "ArmTemplate"'
2. 统一所有步骤的订阅ID
你当前配置里三个地方的订阅ID不一致:
- 错误日志中的订阅ID:
000000-0000-0000-0000-864d437bd294 - Validate步骤的订阅ID:
000000-0000-0000-974d-864d437bd294 - Export步骤的订阅ID:
000000-0000-4aab-974d-864d437bd294
请确认实际的订阅ID,所有步骤统一使用同一个正确的订阅ID。
3. 升级Node.js版本
微软官方最新的ADF Utilities包最低要求Node.js 14.x版本,你当前使用的10.x版本可能存在兼容性问题,将NodeTool任务的版本修改为:
- task: NodeTool@0 inputs: versionSpec: '14.x' displayName: 'Install Node.js'
4. 检查路径大小写
由于流水线使用Ubuntu代理,文件系统对大小写敏感,请确认以下配置和实际仓库路径完全一致:
- 文件夹名
DataFactories的大小写 - 工厂名称
joaov1的大小写 - 资源组、ADF实例名称的大小写
5. 校验package.json配置
确认/DataFactories/joaov1/build/package.json中的scripts配置正确,示例如下:
{ "scripts": { "build": "node node_modules/@microsoft/azure-data-factory-utilities/lib/index" }, "dependencies": { "@microsoft/azure-data-factory-utilities": "^1.0.0" } }
内容的提问来源于stack exchange,提问作者user15464793
相关产品推荐
相关产品推荐

