azure - Azure 数据工厂发布管道 - 找不到资源错误
问题描述
我正在测试一个非常简单的 ADF(只有一个活动)的构建/发布,构建、存储库、arm 模板导出似乎一切正常,直到我运行发布任务时,错误出现在最后一步,即:
"error": {
"code": "ResourceNotFound",
"message": "The Resource 'Microsoft.DataFactory/factories/htTestDF' under resource group 'xxx-rg' was not found."
}
我看了几个教程和微软网站,并尝试导出ARM模板几次,出现同样的错误。任何想法将不胜感激。
解决方案
感谢您的详细信息在评论中澄清。现在,您遇到的错误消息是使用不同的目标资源组作为此 ARM 模板部署到的。
为了更清楚地说明这一点,我根据您提供的详细信息重现了该问题。幸运的是,你遇到了同样的错误。现在,让我们关注它的日志,然后了解它导致Not Found
错误的原因。(请设置debug=true
)
正如我在上图中提到的,它是该任务在第一步使用的 api,而模板开始应用于相应的资源组和部署。如需了解更多信息,请先参阅此 REST API 文档:部署 - 创建或更新。
此任务的逻辑是从 ARM 模板文件编译参数,将它们打包并将其用作此PUT api 调用的请求体。查看它的 api 文档,你可以得到这个 API 调用,它resourceGroupName
和deploymentName
需要首先指定。换句话说,如果您指定了另一个目标资源组,它将找不到可以应用此模板定义的正确目标位置。因为,您可以看到此 ARM 模板正准备将活动应用SetVariable
到您的数据工厂HTDF3
,并且定义的pipelines
名称是HTPipe1
. 但是这些都不应该存在于您的目标资源组中。因此它导致了这样的错误:
"error": {
"code": "ResourceNotFound",
"message": "The Resource 'Microsoft.DataFactory/factories/Merlin-1003' under resource group 'Merlin-ARM-deploy' was not found."
}
在我的示例中,Merlin-ARM-deploy
是我的目标资源组。
如果要将其部署到目标资源组中,则需要手动创建一个数据工厂,或者使用另一个 ARM 模板在目标资源组中创建一个新的相同工厂。如果选择前面的方法,只需修改template.json文件,让它的参数对应实际的目标资源组即可。但是如果使用第二种方法,不要操作任何东西。只需将它们与任务一起应用即可。
推荐阅读
- excel - 转换 Excel 或 Google 表格中的数据集
- c# - 始终使用 ExcelDataReader 从 Excel 文件中以字符串形式获取数据
- mysql - 实体框架 MySql:未从数据库中读取 DbGeometry
- .htaccess - 使用 .htaccess 删除多个 url 的尾部斜杠
- javascript - 致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足错误
- php - Laravel 仅获取多对多关系中的枢轴列
- symfony - 检查实体属性是否存在
- java - 奇怪的 Java 日历不一致
- java - 如何处理列表的每个 Future 的结果以及所有 future 在 vert.x 中完成的时间?
- rest - Xamarin 移动设备到存储在 AWS Ec2 上的 SQLite