问题标签 [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.

0 投票
1 回答
1012 浏览

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 上发现了这个问题。建议是删除$schemaand contentVersion,尽管这与错误相悖。我尝试了以下方法:

$JsonChildTemplate返回:

我的猜测是我将 child.json 的内容传递给New-AzureRmResourceGroupDeployment. 那或者实际上不可能做我想做的事情。

附言

0 投票
2 回答
1218 浏览

json - 使用 AzureRM 在同一 vnet 中部署不同子网的嵌套模板

我正在尝试通过模板实现一定程度的容器化。最后,我希望能够在一个模板中定义一个驻留在虚拟网络和子网(如数据库集群)内的组件(一个或多个服务器)。通过另一个模板,定义一个驻留在虚拟网络和子网中的组件,但可能是不同的。

模板 A:

  • 我的网络
    • 我的子网1
      • 我的界面1

模板 B:

  • 我的网络
    • 我的子网2
      • 我的界面2

这样,将模板 B 嵌套在模板 A 中会给我留下:

模板 AB:

  • 我的网络
    • 我的子网1
      • 我的界面1
    • 我的子网2
      • 我的界面2

相反,我收到以下错误:

生成的资源组是这样填充的(就像部署了嵌套模板并且嵌套退出之后的资源一样)。

模板 AB:

  • 我的网络
    • 我的子网2
      • 我的界面2

我的模板如下:

天蓝色部署.json

嵌套模板/OverlaySubnet.json

0 投票
1 回答
824 浏览

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 可以将其拾取并使用它。

0 投票
1 回答
347 浏览

azure - ARM 模板与 Azure SDK 功能兼容性

我正在寻找通过 Azure SDK (java) 与 ARM 模板对 Azure 资源操作的支持方面的任何差距。

到目前为止,我们只发现 ARM 无法管理 blobs/queues/tables,而包含的 StorageAccount 可以。也没有说明差异的文档。

我更喜欢使用 ARM 模板,因为它们提供跨资源创建和更新的原子性,前提是它们支持所有或大部分功能。

我们感兴趣的资源主要是 IAAS 类资源——虚拟网络、安全组、子网等、LB、存储工件、VM 实例、DNS 等。

对于基本的创建/删除操作和频繁的更新操作(例如修补 VM 映像、修改 DNS 条目、将 ENI 从一个 VM 移动到另一个 VM 等),需要这个。

0 投票
0 回答
898 浏览

azure - 用于洞察警报的 Azure ARM 模板

我正在尝试为功能警报创建一个天蓝色模板。

当我部署它时,我收到以下无用的错误:

我可以手动创建警报,并且我已经复制了模板语法,所以我不太确定出了什么问题。这是我的模板:

注意我没有包括实际的功能网站,因为它太长了,但如果它有帮助我可以

0 投票
1 回答
2358 浏览

azure - 天蓝色。如何使用 ARM 模板从托管映像部署 VM

我有一个 VM 的托管映像,如此处所述我需要使用托管磁盘作为操作系统磁盘从该映像部署一些虚拟机。如何使用 ARM 模板做到这一点?

0 投票
0 回答
28 浏览

azure - 通过 git hum 上的工具将热量转换为 ARM 模板 :: 异常和错误

试图在 Azure 平台上构建堆栈,但不知何故卡在将 heat 模板转换为 ARM 模板......

已修改 openstack.yaml 模板并尝试使用 Heat2ARM 转换工具将 yaml 转换为 ARM。但在执行 heat2arm.exe 时出现以下异常 -

谁能建议这里需要做什么?

0 投票
1 回答
291 浏览

mysql - 如何在 ARM 模板中配置 ClearDb MySQL 数据库的密码和用户名

有没有办法在 ARM 模板中设置 ClearDB MySQL 数据库的 PW 和用户名?

这是资源:

0 投票
1 回答
29 浏览

azure - 逐步使用 azure 模板

所以我有这个模板,我用它来创建我的资源组。我们正处于开发过程的中间,因此每天添加不同的资源是很常见的。

如何运行模板以添加我缺少的模板?

我试图将我的模板部署到我现有的资源组,但我猜它只是认为我想创建另一组资源。

我应该怎么办?

在此处输入图像描述

0 投票
2 回答
7964 浏览

json - Azure ARM 模板 - 使用数组变量

我在我的template.json中定义了一个警报规则,其中包含自定义电子邮件,如果出现错误,应发出警报。所以 JSON 片段看起来像这样:

现在我想将这些电子邮件存储为数组变量,如下所示:

这不起作用,但我没有发现正确的语法是什么。有人可以告诉我吗?