>问题:尝试创建 ADF 组件(如可通过 powershell 为 Azure SQL mit 提供的数据集(时出现 ADF 错误
分析:
错误可以在BuildServer(通过DevOps运行(上重现,也可以通过Windows PowerShell在本地重现。
错误在具有相同命令集的 Azure Cloudshell 和 Powershell 核心中不可重现
数据集的 ADF 错误:
无法加载资源 #datasetname。请确保 JSON 中没有错误,并且引用的资源存在。状态:未知错误,可能的原因:已命名的获取失败:数据集$#datasetname。找不到适配器。类型:数据集。
如果手动将文件(jsonfile(粘贴到ADF中,它将按预期工作而不会出错
预期解决方案:如何使其与WindowsPowershell配合使用?
Json 文件:
{
"name": "#datasetname",
"properties": {
"linkedServiceName": {
"referenceName": "<connection name>",
"type": "LinkedServiceReference"
},
"annotations": [],
"type": "AzureSqlMITable",
"schema": [],
"typeProperties": {
"tableName": {
"value": "<StoredProcedure_Name_Name>",
"type": "Expression"
}
}
},
"type": "Microsoft.DataFactory/factories/datasets"
}
Powershell命令:
Connect-AzureRmAccount
$BaseFolder=<FilePath>
$file = Get-ChildItem $BaseFolder -Recurse -Include *.json -Filter #somefilter -ErrorAction Stop
Set-AzureRmDataFactoryV2Dataset -DataFactoryName <datafactoryname> -Name ($file.BaseName) -ResourceGroupName <resourcegroupname> -DefinitionFile $file.FullName -Force -ErrorAction Stop
使用powershell 核心命令使用 az 命令解决(通过 CICD 中的 Azure Powershell 任务而不是 Windows 脚本(。
这里的重点是,从今以后人们应该使用Powershell core(Az(,因为它将具有新功能,而Windows powershell(AzureRm(将只有错误修复。