问题标签 [arm-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.
arm-template - 使用 ARM 模板跨部署槽共享网站配置
我在一个 ARM 模板中配置了几个 webapp,我发现我必须有很多重复的代码才能跨多个部署槽维护一个配置。依赖项和属性都必须单独复制和维护。我研究过使用变量,但是我的很多配置都依赖于其他资源,并且在评估变量时无法评估。
理想情况下,我希望所有插槽都引用相同的“Microsoft.Web/sites/config”对象,但我看不到这样做的方法。我当前的部署脚本看起来像这样(虽然这已经被大大简化了,但实际上我有更多的属性)
有没有办法让这个模板更易于维护?
azure - Service Fabric 群集 Arm 模板部署错误
我正在使用 vsts 版本来部署我的 arm 模板。该模板是一个 2 节点类型的服务结构集群,附加了所有必需的东西。当规模集自动缩放会缩减 VM 的数量时,我遇到了一个问题,并且服务会失去仲裁,因为规模集似乎没有告诉集群缩放即将发生,所以我想改变持久性级别从青铜到白银可能会有所帮助。那是一个错误,因为即使文档说银可用,当您在 azure 门户中创建集群时,也只有青铜和金可用。黄金不是一个选项,因为它强制 VM 大小为 D15_V2 或 G5,这是疯狂的钱。所以回到青铜。
但是现在,我的模板无法部署......集群资源本身被卡住了部署。在撰写本文时,它已经持续了将近 2 个小时,以我的经验,这是前所未有的。我已经尝试过多次,它反复卡在这里。
我得到的信息:
如您所见,非常有帮助!
活动日志也好不到哪里去。它只是说写入集群操作失败。有没有办法获得更详细的诊断?任何想法都非常感谢,因为没有关于失败的线索。
谢谢
azure - Azure 自动化 DSC 编译作业失败,来自 ARM 模板的 404
我创建了一个 ARM 模板,它成功地在 Azure 中创建了一个自动化帐户,然后在该帐户中创建了一个模块和 DSC 配置。
当我添加Microsoft.Automation/automationAccounts/Compilationjobs
资源来编译 DSC 配置时,模板部署在此步骤失败,并出现 404 - 找不到文件或目录。
Compilationjobs 资源作为模板中的顶级资源存在,如下所示:
当我Start-AzureRmAutomationDscCompilationJob
使用相同的详细信息调用时,编译作业已创建并成功完成。
azure - 有没有办法使用 ARM 模板在应用服务中部署 VSTS 项目?
我正在使用 ARM 模板在 Azure 上创建资源。我要部署三个 Web 应用程序。通常我可以使用速度很慢的 VSTS 单独部署它们。那么有没有办法使用 ARM 模板在 VSTS 上部署项目呢?
visual-studio-templates - 使用 Visual Studio 将变量传递给链接的手臂模板
我正在尝试使用 Visual Studio 创建链接的 ARM 模板。为了创建 VM,我需要使用参数文件或模板文件将 vnet 前缀、子网名称等变量传递给不同的模板。我在微软网站上找不到相关的例子。请帮忙。
azure - 无法将类型为“System.__ComObject”的 COM 对象转换为接口类型“EnvDTE.Project”
我正在使用 Visual Studio 2015 项目模板中的 Azure 资源组项目为我的项目创建 Azure 资源管理器部署模板。我之前成功地创建了项目。但是今天,我将Azure SDK更新到v2.9.5,突然项目创建失败。它失败并显示以下错误消息。
无法将“System.__ComObject”类型的 COM 对象转换为接口类型“EnvDTE.Project”。此操作失败,因为 IID 为“866311E6-C887-9833-645F5B93F6F1}”的接口的 COM 组件上的 QueryInterface 调用失败,原因是以下错误:不支持 cush 接口(来自 HRESULT 的异常:0x80004002 (E_NONINTERFACE))。
当我从模板选择对话框中选择起始模板时会发生此异常(我选择了 WebApp+SQL 模板。其他模板也失败了)。所以在此之后项目是不完整的。
我在安装了 Azure SDK v2.9.5 的 3 台不同的 PC 中遇到了同样的问题。这个问题与 SDK 本身有关吗?或者我应该如何解决这个问题。
azure - Azure ARM 模板变量:获取订阅名称属性
有没有办法将当前订阅名称转换为变量?
像这样的东西:
Visual Studio 说“‘订阅’的属性必须是以下之一:id、subscriptionId、tenantId。” 所以上面的行不通。
我还找到了一些“参考”功能的例子,并尝试使用它:
但是在调用模板时会出错:
我不确定我应该把它放在哪里以及如何将它放入变量中。
在 PowerShell 中,我可以这样做:
(Get-AzureRmSubscription).subscriptionname
出于兴趣,我们有几个订阅。订阅名称包含一个 3 位数的“短代码”,用于命名给定订阅中的资源组。除了更容易确定什么属于什么之外,它没有其他用途。这是我们命名约定的一部分,可帮助管理员(不是特别熟悉 Azure)轻松查看哪些资源在哪里。我知道还有其他方法,如 RBAC 等,但微软不断的凭据 cookie 捕获并不适合使用不同的凭据登录到不同的订阅。
谢谢W。
azure - Azure Service Fabric ARM 模板预配失败
我有一个脚本,它有助于 ARM 模板在存储等其他依赖项中配置 Azure Service Fabric 集群(官方 Windows 服务器)。我不通过门户提供。
事实:
两天前,我使用此脚本配置集群并取得了圆满成功。
我昨天又试了一次,但配置失败(错误如下)。
只是为了向您保证配置脚本有效,我可以在其他订阅上成功地配置此脚本,并且它会持续可靠地成功。
错误:
资源 Microsoft.Insights/autoscaleSettings '1NodeVMSetAutoScale' 失败,并显示消息 'The metric with namespace '' and name '\Processor(_Total)\% Processor Time' is not supported for this resource id '/subscriptions/----/resourceGroups/ -cluster/providers/Microsoft.Compute/virtualMachineScaleSets/1'。晚上 8:10:01 - 资源 Microsoft.Insights/autoscaleSettings '2NodeVMSetAutoScale' 失败,并显示消息 'The metric with namespace'' and name '\Processor(_Total)\% Processor Time' is not supported for this resource id '/subscriptions/ ----/resourceGroups/cluster/providers/Microsoft.Compute/virtualMachineScaleSets/2'。8:10:01 PM -“模板输出评估已跳过:至少一项资源部署操作失败。请列出部署操作以了解详细信息。请参阅https://aka.ms/arm-debug有关用法的详细信息。”“字符串”不包含“错误”的定义
我的问题是为什么?它不能持续成功的原因是什么?你能帮忙解决问题吗?
相关信息:https ://azure.microsoft.com/en-us/documentation/articles/insights-autoscale-common-metrics/
arrays - 在手臂模板中引用嵌套数组中的对象
我正在尝试基于几个数组创建几个资源。这些资源之一是一些存储帐户。我在嵌套数组中有这些存储帐户的名称:
我想我可以像这样迭代这个:
我将有几个这样的存储帐户资源,都带有一个副本,因此名称将从 0,0 然后 0,1 0,2 等获取,并且在下一个资源上,名称是:
所以 1,0 1,1 1,2 等等。
但是,当我尝试部署时收到此错误:
'模板资源 '[variables('storageAccountArray')[0][copyIndex()]]' 无效:无法评估模板语言表达式属性 'Microsoft.WindowsAzure.ResourceStack.Frontdoor.Templates.Expressions.TemplateFunctionExpression' .
根据这样的问题:访问/处理(嵌套)对象、数组或 JSON json 通常可以通过这种方式进行评估。arm 评估模板的方式是否会阻止我这样做?
当我尝试将这些磁盘用作我的虚拟机的操作系统磁盘时,这些磁盘也会循环创建许多虚拟机,我无法添加它们,因为我需要访问嵌套阵列:
我还尝试将嵌套数组拆分为多个,但是当我循环需要自己的存储帐户的 VM 时,我仍然需要增加一个数字,这似乎要求我不能在循环中创建 VM。
我还可以拆分资源以循环到嵌套模板中。我是否能够创建许多都指向同一个外部模板的“Microsoft.Resources/deployments”资源,然后每次都传入不同的数字作为参数以这种方式增加数字?
有任何想法吗?感谢您的时间