已模板化ARM的Azure数据工厂问题



我使用azure devops发布管道部署到azure数据工厂,但ARM模板中的字符数似乎有限制。我的错误如下。

部署模板验证失败:'超出了模板输入参数的数量限制。限值:'256',实际值:'274'。

除了减少模板中的字符之外,还有其他方法吗?

尽量利用动态链接服务和数据集来减少参数的数量。触发器也可能导致ARM模板中的许多参数。有这么多参数可能是不可避免的,如果是这样的话,您应该考虑将工作负载拆分为多个数据工厂。如果没有看到确切的ARM模板,很难知道如何提供帮助。

您看到的限制是因为您声明的参数。请尝试使用以下格式的参数。可以减少具有对象的参数。

"parameters": {
"<parameter-name>" : {
"type" : "<type-of-parameter-value>",
"defaultValue": "<default-value-of-parameter>",
"allowedValues": [ "<array-of-allowed-values>" ],
"minValue": <minimum-value-for-int>,
"maxValue": <maximum-value-for-int>,
"minLength": <minimum-length-for-string-or-array>,
"maxLength": <maximum-length-for-string-or-array-parameters>,
"metadata": {
"description": "<description-of-the parameter>"
}
}
}

以下是相同的文档:参数

根据https://learn.microsoft.com/en-us/azure/data-factory/continuous-integration-delivery-resource-manager-custom-parameters,您可以通过编辑arm-template-parameters-definition.json自定义ARM的参数模板。

据我所知,这个文件将告诉您的npm构建任务,json文件中的哪些配置应该参数化为ARMTemplateParametersForFactory.json

通常,您可以尝试删除arm-template-parameters-definition.json中的一些配置,并比较ARMTemplateParametersForFactory.json中的参数计数。代价是一些配置将被硬编码在ARMTemplateForFactory.json中。

这对我来说很有效,我设法将参数计数从300+减少到100。

最新更新