gpt4 book ai didi

azure - 为使用 OnPrem 数据网关的 API 连接部署 ARM 模板成功,但缺少 authType 和网关参数

转载 作者:行者123 更新时间:2023-12-03 01:17:16 25 4
gpt4 key购买 nike

为此我一直在用头撞砖墙。

我正在尝试通过 Azure DevOps 管道、二头肌/ARM 模板和 API 连接进行部署,该连接使用通过数据网关链接到本地​​ API 的自定义连接器。

这是我的二头肌文件...

param connectionName string
param displayName string
param gatewayResourceGroup string
param gatewayName string
param connectorName string
param location string = resourceGroup().location

resource connector 'Microsoft.Web/customApis@2016-06-01' existing = {
name: connectorName
}

resource gatewayApi 'Microsoft.Web/connectionGateways@2016-06-01' existing = {
name: gatewayName
scope: resourceGroup(gatewayResourceGroup)
}

resource apiConnection 'Microsoft.Web/connections@2016-06-01' = {
name: connectionName
location: location
properties: {
displayName: displayName
nonSecretParameterValues: {
authType: 'anonymous'
#disable-next-line BCP036
gateway: {
name: gatewayName
id: gatewayApi.id
type: 'Microsoft.Web/connectionGateways'
}
}
api: {
name: connector.name
displayName: 'CONNECTOR ${connectorName}'
id: connector.id
type: 'Microsoft.Web/customApis'
}
}
}

我的问题是nonSecretParameterValues。

他们哪儿也不去。

API 连接的部署方式如下... authType and gateway values are missing

更糟糕的是部署成功了...... Deployment status

但是如果我深入研究操作细节,我会发现有两个问题...... Request and Response

            "overallStatus": "Error",
"statuses": [
{
"status": "Error",
"target": "authType",
"error": {
"code": "ConfigurationNeeded",
"message": "Parameter value missing."
}
},
{
"status": "Error",
"target": "gateway",
"error": {
"code": "ConfigurationNeeded",
"message": "Parameter value missing."
}
}
],

非常令人沮丧。

现在,我可以在部署“成功”后手动添加我想要的 authType 和网关参数的值。然后,使用此 API 连接和自定义连接器到 Onprem 网关的逻辑应用程序将按预期工作。

但是,在缺少参数的连接(在 UI 中)或我手动输入值之后,API 连接的导出模板不会发生变化。

我还尝试在部署后添加一些 Powershell 以获取连接并尝试设置“缺失”值并从那里更新资源。

我可以通过 Powershell 查看另一个 API 连接,该连接已使用 authType 和网关参数正确设置。

但是当我尝试在资源上设置这些我需要“修复”时,它也会提示...... No go from Powershell either :(

我真的很希望完全通过 Azure DevOps 管道部署 API 连接。

注意:我发现必须使用 #disable-next-line BCP036 来禁用 VSCode 中的警告,这很奇怪。甚至打开构建的 ARM 模板也会对“网关”属性名称发出警告。我什至尝试仅用资源 ID 替换“对象”,但这没有帮助。 ARM Template warning

最佳答案

参数应位于 parameterValues 属性对象中:

resource apiConnection 'Microsoft.Web/connections@2016-06-01' = {
name: connectionName
location: location
properties: {
displayName: displayName
parameterValues: {
authType: 'anonymous'
gateway: {
id: gatewayApi.id
}
}
...
}
}

关于azure - 为使用 OnPrem 数据网关的 API 连接部署 ARM 模板成功,但缺少 authType 和网关参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74213433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com