Data Factory Deploy Managed Private Endpoint. Error: Invalid payload

Data Factory Deploy Managed Private Endpoint. Error: Invalid payload

我一直在使用新的 ADF CI/CD 流程,如下所述:ms doc。 在我通过托管私有端点保护链接服务之前,这一直很有效。

构建管道根据部署到我的“开发”环境中的数据工厂的内容生成 ARM 模板和参数文件。然后从构建中发布模板和参数文件,并提供给发布管道。此时,生成的参数只包含占位符值。

发布管道执行 ARM 模板,从“覆盖模板参数”文本框中获取模板值:

我的问题是,当它运行时,我从资源组部署中收到以下错误:

"Invalid resource request. Resource type: 'ManagedPrivateEndpoint', Resource name: 'pe-ccsurvey-blob-001' 'Error: Invalid payload'."

我从 Azure 门户导航到资源组部署,在那里我能够查看使用的模板和参数文件。

模板文件中所需私有端点的定义如下所示:

{
            "type": "Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints",
            "apiVersion": "2018-06-01",
            "name": "[concat(parameters('factoryName'), '/default/pe-ccsurvey-blob-001')]",
            "dependsOn": [
                "[concat(variables('factoryId'), '/managedVirtualNetworks/default')]"
            ],
            "properties": {
                "privateLinkResourceId": "[parameters('pe-ccsurvey-blob-001_properties_privateLinkResourceId')]",
                "groupId": "[parameters('pe-ccsurvey-blob-001_properties_groupId')]"
            }
        }

参数文件中的相关参数是:

"pe-ccsurvey-blob-001_properties_privateLinkResourceId": {
    "value": "/subscriptions/correctSubscriptionIdHere/resourceGroups/rg-contactcentre-dev-001/providers/Microsoft.Storage/storageAccounts/storccsurveydev001"
},
"pe-ccsurvey-blob-001_properties_groupId": {
    "value": "blob"
}

我认为参数文件中的值没问题。它指向的存储帐户确实存在。不幸的是,错误消息不是很具体 - 它只是指出“无效负载”。

有什么想法吗?

通过官方Best practices for CI/CD,

If a private endpoint already exists in a factory and you try to deploy an ARM template that contains a private endpoint with the same name but with modified properties, the deployment will fail.