问题标签 [azure-template]
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.
powershell - Azure 嵌套模板部署:在 PowerShell 中使用模板元素(不是 templateLink)
为了让生活更轻松(从长远来看),我尝试使用properties.template,而不是有据可查的properties.templateLink。前者通过将 child.json 模板文件的内容作为模板参数传递给 parent.json 模板,因此文档很少。
从Microsoft.Resources/deployments的 MS 文档中:
模板内容。当您想直接在请求中传递模板语法而不是链接到现有模板时,您可以使用此元素。它可以是 JObject 或格式良好的 JSON 字符串。使用 templateLink 属性或模板属性,但不能同时使用两者。
在我的父模板中,我声明了参数childTemplates
并在 properties.template 中引用它:
然后我将子模板传递New-AzureRmResourceGroupDeployment -TemplateParameterObject
给以部署父模板:
这会产生以下错误:
如果我看$JsonChildTemplate
,它给了我:
对我来说,它看起来就在$schema
那里。
我也尝试过删除| ConvertFrom-Json
同样的错误。
上面,我展示了最新的 API 版本,但我已经尝试过其他版本,例如 2016-09-01,以防万一出现错误。
在寻找解决方案时,我在 GitHub 上发现了这个问题。建议是删除$schema
and contentVersion
,尽管这与错误相悖。我尝试了以下方法:
$JsonChildTemplate
返回:
我的猜测是我将 child.json 的内容传递给New-AzureRmResourceGroupDeployment
. 那或者实际上不可能做我想做的事情。
附言
json - 使用 AzureRM 在同一 vnet 中部署不同子网的嵌套模板
我正在尝试通过模板实现一定程度的容器化。最后,我希望能够在一个模板中定义一个驻留在虚拟网络和子网(如数据库集群)内的组件(一个或多个服务器)。通过另一个模板,定义一个驻留在虚拟网络和子网中的组件,但可能是不同的。
模板 A:
- 我的网络
- 我的子网1
- 我的界面1
- 我的子网1
模板 B:
- 我的网络
- 我的子网2
- 我的界面2
- 我的子网2
这样,将模板 B 嵌套在模板 A 中会给我留下:
模板 AB:
- 我的网络
- 我的子网1
- 我的界面1
- 我的子网2
- 我的界面2
- 我的子网1
相反,我收到以下错误:
生成的资源组是这样填充的(就像部署了嵌套模板并且嵌套退出之后的资源一样)。
模板 AB:
- 我的网络
- 我的子网2
- 我的界面2
- 我的子网2
我的模板如下:
天蓝色部署.json
嵌套模板/OverlaySubnet.json
azure - Azure 模板:动态输出在 CopyIndex() 迭代中创建的所有项目
采用以下简单模板:
由于不允许使用 copyIndex() outputs.oNIC.value
,如何输出副本中创建的所有网络接口,而不具体命名它们?
在上面的模板中,我已经指定了两个网卡,但实际上,还会有其他资源类型,我不知道会有多少。
即使能够返回/networkInterfaces
给定资源中的所有实例也是朝着正确方向迈出的一步,但我什至似乎都做不到:
或者
我对此一无所知。TIA
更新:推理:
尽可能简短:部分 IP 地址在 VM 主机名中(客户端要求),因此 VM 的名称是在部署时生成的。模板层次结构类似于:
CreateDataDisks 实际模板由powershell“写出”(由于不同类型数据盘的复杂性)
为了简化事情(信不信由你),我将部署拆分为来自 PowerShell / VSTS / RunBook 的两个单独的部署调用。第一个实际部署 VM,第二个使用 DSC 和 customScriptExtension 资源对其进行配置。一个完整的部署可能会有多个不同角色的服务器,例如DB、WEB、客户端,虽然一组模板/调用只会部署一个角色。一个完整的 powershell 脚本可能如下所示:
虽然我可能不得不做这样的事情,除非我可以使用 CopyIndex 来遍历模板中的一个数组(我认为我可以。只是把它放在那里):
好计划(我想),直到意识到我无法从 deploy{Role}.json 中获取所有 VM 名称以传递给 configure{role}.json。
另一个问题与这些讨厌的数据磁盘有关。这个想法是可以通过修改/添加重新运行部署,因此第一次运行可能会创建三个数据磁盘,而第二次运行会创建第四个数据磁盘。真正的问题是保持 LUN ID 的唯一性。在第一次部署运行时,它从零开始并递增到 2。在第二次运行时,它再次从零开始,但已经采用了零。我需要做的是汇总数据磁盘资源的总数并将计数偏移(三),所以在第二次运行时,LUN ID 从二开始。我没有办法将纯模板中的资源数量相加,所以我使用 powershell,但是由于可能有多个虚拟机具有多个数据磁盘,因此我需要针对特定的虚拟机,我需要为其命名,需要从父模板中输出,以便 powershell 可以将其拾取并使用它。
azure - ARM 模板与 Azure SDK 功能兼容性
我正在寻找通过 Azure SDK (java) 与 ARM 模板对 Azure 资源操作的支持方面的任何差距。
到目前为止,我们只发现 ARM 无法管理 blobs/queues/tables,而包含的 StorageAccount 可以。也没有说明差异的文档。
我更喜欢使用 ARM 模板,因为它们提供跨资源创建和更新的原子性,前提是它们支持所有或大部分功能。
我们感兴趣的资源主要是 IAAS 类资源——虚拟网络、安全组、子网等、LB、存储工件、VM 实例、DNS 等。
对于基本的创建/删除操作和频繁的更新操作(例如修补 VM 映像、修改 DNS 条目、将 ENI 从一个 VM 移动到另一个 VM 等),需要这个。
azure - 用于洞察警报的 Azure ARM 模板
我正在尝试为功能警报创建一个天蓝色模板。
当我部署它时,我收到以下无用的错误:
我可以手动创建警报,并且我已经复制了模板语法,所以我不太确定出了什么问题。这是我的模板:
注意我没有包括实际的功能网站,因为它太长了,但如果它有帮助我可以
azure - 天蓝色。如何使用 ARM 模板从托管映像部署 VM
我有一个 VM 的托管映像,如此处所述。我需要使用托管磁盘作为操作系统磁盘从该映像部署一些虚拟机。如何使用 ARM 模板做到这一点?
azure - 通过 git hum 上的工具将热量转换为 ARM 模板 :: 异常和错误
试图在 Azure 平台上构建堆栈,但不知何故卡在将 heat 模板转换为 ARM 模板......
已修改 openstack.yaml 模板并尝试使用 Heat2ARM 转换工具将 yaml 转换为 ARM。但在执行 heat2arm.exe 时出现以下异常 -
谁能建议这里需要做什么?
mysql - 如何在 ARM 模板中配置 ClearDb MySQL 数据库的密码和用户名
有没有办法在 ARM 模板中设置 ClearDB MySQL 数据库的 PW 和用户名?
这是资源:
json - Azure ARM 模板 - 使用数组变量
我在我的template.json中定义了一个警报规则,其中包含自定义电子邮件,如果出现错误,应发出警报。所以 JSON 片段看起来像这样:
现在我想将这些电子邮件存储为数组变量,如下所示:
这不起作用,但我没有发现正确的语法是什么。有人可以告诉我吗?