问题标签 [azure-bicep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 二头肌 - 如何通过循环创建对象数组,每次迭代创建 2 个或更多对象
为了简化我的问题。我有一个这样的例子。这是我想通过循环创建的对象数组。所有对象的名称和值都为“0”。该数组有 4 个对象。
这是经过验证的解决方案。它循环 4 次以创建对象数组。因此,每次迭代仅创建 1 个对象。
但是,假设我只想通过迭代次数较少的循环来获得上述结果(假设只有 2 次迭代)。因此,每次迭代,我必须创建一个包含 2 个对象的数组
这是我尝试过但不起作用的代码,但是通过它,您可能会理解我试图得到的
请注意,我尝试了许多其他方法(不仅是上面的一种)但不起作用(例如:使用联合函数)。我总是遇到语法错误或其他问题。因此,我想知道二头肌是否有能力做我想做的事情。有人能帮我吗?谢谢和最好的问候
azure - Azure 二头肌将存储帐户连接字符串传递给 Secret Keyvault 循环问题
我有以下二头肌脚本来执行以下步骤:
- 基于代码创建存储帐户
- 创建密钥
- 使用正确的密钥加密存储帐户
- 将秘密连接字符串(存储帐户)生成到密钥保管库中
基础设施分为 2 个资源组:
在 azure bicep 中,我有以下脚本:
存储.二头肌
keyvaultclient.bicep
共享的二头肌
这些脚本基于tenantCode
. 这是完美的。如果我只有 1 个tenantCode
声明,一切都会顺利和完美,但是当我尝试声明超过 1 个时,我面临的问题就会出现。这就是细节问题。
当我声明超过 1 个代码时,脚本仍然创建了我需要的所有资源:存储帐户、密钥、加密、GUID 和 ConnectionStrings Secrets。但无论如何它在ConnectionStrings Secret
.
它失败的原因是在这段代码的那些文件中:
共享二头肌
和
keuvaultsclient.bicep *
我有一个多重循环,我意识到在秘密下的共享密钥库中,我有正确数量的秘密(有 3 个租户代码,我有 3 个秘密),并且在每个秘密下我有 3 个版本(对于它生成的每个租户代码每个秘密都有一个新版本)。此循环错误导致二头肌脚本fail
出现以下消息:
在这个阶段我完全被困住了,因为我是二头肌初学者,我用尽了所有选项并进行了测试以尝试解决这个问题。
如何重现
- 创建 2 个资源组(一个用于密钥保管库,一个用于存储帐户)
- 使用正确的 kv 名称更新参数
- 在所有文件中,在每个文件上添加至少 2 个tenantCode
- 执行命令
az deployment group create -f ./keyvaultsclient.bicep -g <rg-where-keyvaults-are>
我希望我足够清楚地解释了我面临的问题,如果您需要更多详细信息,请告诉我。
非常感谢您的时间和帮助
azure - 有没有办法部署不在主文件中的 Azure 资源模块?
通常,通过二头肌模块创建 Azure 资源时,我会有 2 个文件。一个文件指定用于保存参数化资源,另一个文件是主文件,它将使用该模块。
作为创建操作组的示例,我的资源文件如下所示:
动作组.二头肌
然后,此资源作为主文件 main.bicep 中的一个模块使用:
我的管道引用 main.bicep 并将部署文件中列出的资源。我的问题是,有没有办法在混合中添加第三个文件?一个文件仍然保存参数化资源,一个文件保存关联的资源模块,以及 main.bicep 文件。这个想法是在我现有的资源中创建各种警报,但我不想在 main.bicep 中添加大量模块,因为它会迅速增加该文件中代码的复杂性和数量。
有没有办法让我拥有这个模块文件,并引用 main.bicep 中的整个文件以仍然从原始管道进行部署?
例如:alerts.bicep
警报模块.二头肌
主二头肌
azure - 使用 bicep 将混合连接部署到 webapp
我正在尝试使用二头肌在 web 应用程序上创建混合连接。
不幸的是,该文档在以下属性中没有描述RelayServiceConnectionEntityProperties
:
https://docs.microsoft.com/en-us/azure/templates/microsoft.web/sites/hybridconnection?tabs=bicep
这是我尝试过的:
但是,当我尝试部署时,出现此错误:
缺少必需的参数 EntityName、EntityConnectionString、ResoureType、ResourceConnectionString、Hostname 或 BiztalkUri。
我不知道该放什么resourceConnectionString
,resourceType
也不知道biztalkUri
。
我可以在哪里找到这些想法,或者我做错了什么?
不幸的是,手动在 Azure 门户上执行,然后“导出模板”,导出没有与混合连接相关的任何内容(无论是在 Webapp 中,还是在混合连接本身中)
azure - 为什么我不能在 Azure 资源模块中循环两次?
我正在尝试在 Azure 二头肌资源/模块中设置警报。目标是拥有 3 个文件,其中一个是创建和参数化初始资源结构的文件:
第二个文件 main.bicep 我所有的资源都作为模块使用:
第三个文件是一个参数文件,我可以在其中循环,将其值输入到 main.bicep 中的模块中,以创建多个资源,而无需编写多个模块:
我总共有 5 个应用服务、1 个 Web 应用和 4 个功能应用。如果我要像上面那样硬编码应用程序服务的名称,那么部署一个 Web 应用程序时会出现 2 个错误。
我遇到的问题是尝试在范围参数上使用另一个循环,以将 2 个错误附加到所有 5 个应用程序服务。
我试过类似的东西:
这通常给我一个错误说:Unexpected token array in scopes[0]
.
我相信发生的事情是,当它试图在 resourceId 中按名称查找资源时,它会遍历所有 appServices 名称并将整个数组附加到资源名称上,使其无效。
是否有另一种方法可以遍历这些范围,以便将 403 和 500 警报附加到我的 5 个应用程序服务中的每一个?
azure - 是否可以在不停机的情况下在两个 Azure Front Door 资源之间移动主机名?
TL;博士:
我可以在同一订阅内的 Azure Front Door 资源之间移动主机名而不会中断吗?
语境
我有四个 Frontdoor 资源——每个资源都有一组主机名。我的组织希望将这些主机名整合到单个 Front Door 资源中,以降低成本并降低复杂性。
我已经在 Bicep 中编写了重写的 ARM 模板,然后按照本教程部署资源,希望它能让我在修改永久 DNS 记录之前准备好新创建的 Frontdoor 上的主机名和路由规则。
不幸的是,我收到以下错误消息:
后续步骤:
我已经按照这些步骤通过门户进行部署,并使用单独的二头肌部署,结果相同。
- 创建前门资源
- 使用 DNS 提供商创建 CNAME 记录:
afdverify.www.contoso.com
➡afdverify.contoso-frontend.azurefd.net
- 编辑资源:
- 在资源上添加并验证
www.contoso.com
为自定义主机名 - 添加后端池和路由规则
- 在资源上添加并验证
- 按保存,显示附加的错误消息不成功
提前感谢您在此问题上花费的任何帮助或时间
azure - 如何使用二头肌在 azure eventHub 的网络部分中选择和添加 VNet 的多个子网
如何使用 azure bicep 在 azure eventHub 资源的网络部分中选择和添加 VNet 的多个子网。
使用上面的代码,我只能使用 azure bicep 将 VNet 的一个特定子网添加到网络部分中 azure EventHub 资源的 VNet 条目中。
如何使用 azure bicep 获取 VNet 的所有子网并将它们全部添加/选择到网络部分中 azure EventHub 资源的 VNet 条目。
azure-application-gateway - 通过 ARM 更新现有应用程序网关
万事如意,
我目前正在构建一些二头肌模板,用于为项目建立新环境,在我到达应用程序网关之前,一切都很顺利。
我们有一个现有的 ApplicationGateway 实例,我希望将新的backendAddressPool
//等添加到其中httpListener
,requestRoutingRule
就像我们可以创建一个新实例Microsoft.Web/sites
并将其附加到现有的Microsoft.Web/serverfarms
.
不幸的是,这些似乎是属性,而不是子资源,因为我在尝试创建它们时遇到错误:
在我花更多时间之前,任何人都可以确认是否可以像这样更新现有网关的配置?
azure - 用 ARM/Bicep 替换或重新链接现有 Azure 资源
我有一个现有的 Azure 资源(功能应用程序),其中包含一些依赖项(存储和 ApService),它需要运行和监控(AppInsights)以及函数引用的一些东西(存储队列、表等)。
所有这些都是通过门户手动创建的。目前正在通过 GitHub Actions 使用 CI/CD 流程 100% 部署和交换插槽,但在尝试了解有关 ARM 模板和二头肌的更多信息时,想知道......</p>
我可以使用我已部署的现有资源,为它们创建匹配的 ARM 模板/Bicep 文件,然后将它们添加到我的 CD 进程中吗?目标:当我想进行更新时,我在 ARM/二头肌模板中进行,并使用 CD 进行更改,而不是手动进行。但是,我不想删除我拥有的并重新创建它。
这可能吗?还是我需要从头开始构建资源和部署它们?
macos - Azure 二头肌无法下载 .NET
希望有人可以帮助我解决这个问题。我正在使用 macOS Monterey 12.0.1 并安装了 Visual Studio 代码 2。到目前为止一切正常,但是当我打开bicep
文件时。我得到这个错误。
我确信 .NET 已安装,如您所见,如果我运行botnet --info
但据我所知,路径完全不同,我不知道这是否是主要问题。我有另一台 Mac 笔记本电脑,我可以在 VsCode 中使用二头肌,没有任何问题。
这是否发生在任何人身上,并且可能会帮助我解决这个问题,因为我找不到任何有效的解决方案。