Azure数据工厂发布管道-找不到资源错误 [英] Azure Data Factory Release Pipeline - Resource Not Found Error

查看:74
本文介绍了Azure数据工厂发布管道-找不到资源错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在测试一个非常简单的ADF(仅一项活动)的构建/发布,构建,存储库,arm模板导出都正常,直到运行发布任务时,错误才显示在最后一步,即说:

I am testing a build/release of a very simple ADF (just one activity), the build, repository, arm template export all seem ok until when I run the release task, the error shows up in the final step, that says:

 "error": {
    "code": "ResourceNotFound",
    "message": "The Resource 'Microsoft.DataFactory/factories/htTestDF' under resource group 'xxx-rg' was not found."
  }

我看了几个教程和Microsoft网站,并尝试多次导出ARM模板,但发生相同的错误.任何想法将不胜感激.

I watched several tutorials and microsoft web sites, and tried exporting the ARM template several times, the same error occurs. Any ideas will be greatly appreciated.

推荐答案

谢谢您的详细说明.现在,您遇到的错误消息是由于在此ARM模板部署到另一个目标资源组时引起的.

Thanks for your details clarifies in comments. Now, the error message you met caused by using a different target resource group as this ARM template deploy to.

为更清楚地说明这一点,我将根据您提供的详细信息重现该问题.幸运的是,您遇到了同样的错误.现在,让我们集中讨论其日志,然后了解为什么它导致 Not Found 错误的原因.(请设置 debug = true )

To make this more clear, I reproduce the issue based on the details you provided. Fortunately, got the same error with you. Now, let's focus on its log, then get why it cause the Not Found error.(Please set debug=true)

正如我在上面的图片中提到的那样,第一步是在模板开始应用于相应的资源组和部署时,此任务在第一步中使用的api.要清除更多内容,请首先参考此REST API文档:部署-创建或更新.

As I mentioned in the above pic, it is the api that this task used at first step while the template begin to apply into the corresponding resource group and deployment. For more cleared, please refer to this REST API doc firstly: Deployments - Create Or Update.

此任务的逻辑是从ARM模板文件编译参数,打包参数并将其用作此 PUT api调用的请求正文.请参阅其api文档,您可以获取用于此API调用的文档,首先需要指定其 resourceGroupName deploymentName .换句话说,如果您指定了另一个目标资源组,它将找不到可以应用此模板定义的正确目标位置.因为,您可以看到此ARM模板正在准备将活动 SetVariable 应用于数据工厂 HTDF3 ,并且定义的管道名称为HTPipe1 .但是这些都应该在目标资源组中不存在.因此,它导致了这样的错误:

The logic of this task is compile parameters from ARM template file, pack them and use it as request body for this PUT api call. See its api doc, you can get that for this API call, its resourceGroupName and deploymentName need to be specified firstly. In another words, if you specified another target resource group, it would not find the correct target place that can apply this template definition. Because, you can see that this ARM template is preparing to applying activities SetVariable into your Data Factory HTDF3 and the defined pipelines name is HTPipe1. But these should all not exists in your target Resource Group. Thus it caused the error like this:

"error": {
    "code": "ResourceNotFound",
    "message": "The Resource 'Microsoft.DataFactory/factories/Merlin-1003' under resource group 'Merlin-ARM-deploy' was not found."
  }

在我的示例中, Merlin-ARM-deploy 是我的目标资源组.

In my sample, Merlin-ARM-deploy is my target resource group.

如果要将其部署到目标资源组中,则需要手动创建一个数据工厂,或使用另一个ARM模板在目标资源组中创建一个新的相同工厂.如果选择以前的方法,则只需修改template.json文件,使其参数与实际的目标资源组相对应.但是,如果使用第二种方法,则什么也不做.只需将它们与任务一起应用即可.

If you want to deploy this into your target resource group, you need to create one data factory manually, or use another ARM Template to create a new one same factory in the target resource group. If you choose the previous method, just then modify the template.json file, to let its parameters correspond to the actual target resource group. But if use the second method, do not operate anything. Just apply them with task.

这篇关于Azure数据工厂发布管道-找不到资源错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆