gpt4 book ai didi

azure 二头肌模板,其模块执行 Web 插槽配置应用程序设置的联合

转载 作者:行者123 更新时间:2023-12-02 05:59:12 24 4
gpt4 key购买 nike

我正在尝试获取当前站点/插槽应用程序配置的列表,然后将其与联合组合,这样我就不会覆盖当前部署的配置。我可以使用站点配置来执行此操作,但不能使用部署槽来执行此操作。

这是我的工作网站的示例在 ma​​in.bicep

resource sites_web_name 'Microsoft.Web/sites@2021-02-01' = {
parameters here(irrelevant for excercise)
}
module web_appsettings_config './appsettings.bicep' = {
name: 'webAppSettings'
params: {
//this gets a list of the current app settings for the web site resource
currentAppSettings: list('${sites_web_name.id}/config/appsettings', '2021-02-01').properties
appSettings: {
'Config1': 'confighere'
'Config2': 'config2here'
'Config3': 'config3here'
}
name: '${sites_web_name.name}/appsettings'
}
}

appsettings.bicep

param currentAppSettings object
param appSettings object
param name string

resource siteConfig 'Microsoft.Web/sites/config@2021-02-01' = {
name: name
properties: union(currentAppSettings, appSettings)
}

上面的内容是部署当前的应用设置,如果模板中未指定新设置,则不会删除/覆盖它们。

现在尝试获取站点/插槽时出现问题

ma​​in.bicep

resource sites_web_slots_name 'Microsoft.Web/sites/slots@2021-02-01' = {
parameters here(irrelevant for excercise)
}
module web_staging_appsettings_config './slotappsettings.bicep' = {
name: 'webStagingAppSettings'
params: {
//this gets a list of the current app settings for the web slot resource
currentAppSettings: list('${sites_web_slots_name.id}/slots/config/appsettings', '2021-02-01').properties
appSettings: {
'Config1': 'confighere'
'Config2': 'config2here'
'Config3': 'config3here'
}
name: '${sites_web_slots_name.name}/appsettings'
}
}

甚至制作了一个单独的模块,slotappsettings.bicep

param currentAppSettings object
param appSettings object
param name string

resource siteSlotConfig 'Microsoft.Web/sites/slots/config@2021-02-01' = {
name: name
properties: union(currentAppSettings, appSettings)
}

我收到的插槽故障错误根本没有帮助:

错误:{"status":"Failed","error":{"code":"DeploymentFailed","message":"至少一项资源部署操作失败。请列出部署操作以了解详细信息。请参阅 https://aka.ms/DeployOperations有关使用详细信息。","details":[{"code":"NotFound","message":"{\r\n "error": {\r\n "code": "InvalidResourceNamespace",\r\n "message": "资源命名空间'订阅'无效。"\r\n }\r\n}"}]}}

我在 Azure 门户中也没有收到任何部署失败消息。以下是我正在使用的 api 版本的文档:

站点/config/appsettings:

sites/config-appsettings

resource symbolicname 'Microsoft.Web/sites/config@2021-02-01' = {
name: 'appsettings'
kind: 'string'
parent: resourceSymbolicName
properties: {}
}

站点/插槽/config/appsettings:

sites/slots/config-appsettings

resource symbolicname 'Microsoft.Web/sites/slots/config@2021-02-01' = {
name: 'appsettings'
kind: 'string'
parent: resourceSymbolicName
properties: {}
}

最佳答案

调用插槽设置的list函数时出现拼写错误:

您有 /slots/config/appsettings 但它应该只是 /config/appsettings 因为 /slots 段已包含在插槽的资源 ID (sites_web_slots_name.id)

关于 azure 二头肌模板,其模块执行 Web 插槽配置应用程序设置的联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71343029/

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