- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个二头肌模板,其参数类型为“数组”。我试图给它的数组是一个对象数组。这是一个示例 Bicep,我在其中获取一个数组并以各种方式输出其中的一部分。
param rulesFromJson array
output FirstElement object = rulesFromJson[0]
output inputArray array = rulesFromJson
output FirstElementName string = rulesFromJson[0].name
这是一个示例参数文件:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"rulesFromJson": {
"value": [
{
"ruleType": "NetworkRule",
"name": "hello"
},
{
"ruleType": "NetworkRule",
"name": "goodbye"
}
]
}
}
}
如果我使用以下命令运行它,我会得到合理的输出:
New-AzResourceGroupDeployment -TemplateFile .\NetTest.bicep -ResourceGroupName 'ericNetworking' -TemplateParameterFile .\FWPolicyParam.json
DeploymentName : NetTest
ResourceGroupName : ericNetworking
ProvisioningState : Succeeded
Timestamp : 4/29/2022 5:14:06 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
rulesFromJson Array [{"ruleType":"NetworkRule","name":"hello"},{"ruleType":"NetworkRule","name":"goodbye"}]
Outputs :
Name Type Value
================== ========================= ==========
firstElement Object {"ruleType":"NetworkRule","name":"hello"}
inputArray Array [{"ruleType":"NetworkRule","name":"hello"},{"ruleType":"NetworkRule","name":"goodbye"}]
firstElementName String "hello"
但我想使用 -TemplateParameterObject 而不是使用参数文件来提供参数。因此,让我们构造一个与参数文件中相同的对象并将其输入:
$objArray1 = @()
$objArray1 += [pscustomobject]@{ruleType='NetworkRule';name='hello'}
$objArray1 += [pscustomobject]@{ruleType='NetworkRule';name='goodbye'}
New-AzResourceGroupDeployment -TemplateFile .\NetTest.bicep -ResourceGroupName 'ericNetworking' -TemplateParameterObject @{rulesFromJson = $objArray1}
据我所知,这应该做同样的事情。但我得到了一个错误。
New-AzResourceGroupDeployment: 1:24:37 PM - The deployment 'NetTest' failed with error(s). Showing 1 out of 1 error(s).
Status Message: The template output 'FirstElementName' is not valid: The language expression property 'name' doesn't exist, available properties are ''.. (Code:DeploymentOutputEvaluationFailed)
CorrelationId: xxxxxx
DeploymentName : NetTest
ResourceGroupName : ericNetworking
ProvisioningState : Failed
Timestamp : 4/29/2022 5:24:32 PM
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
rulesFromJson Array [{},{}]
Outputs :
DeploymentDebugLogLevel :
我在这里做错了什么?我的输入数组格式是否不正确?我注意到在上面的输出中,rulesFromJson 参数的值包含一个包含两个空白对象的数组,这很奇怪。
最佳答案
当二头肌参数的类型为“object”,并且输入通过 -TemplateParameterObject 传递时,它显然不需要传统的 PowerShell 对象,而是哈希表。
要使用上面的示例二头肌文件,您可以构造一个有效的参数并按如下方式运行它:
$objArray1 = @()
$objArray1 += @{ruleType='NetworkRule';name='hello'}
$objArray1 += @{ruleType='NetworkRule';name='goodbye'}
New-AzResourceGroupDeployment -TemplateFile .\NetTest.bicep -ResourceGroupName 'ericNetworking' -TemplateParameterObject @{rulesFromJson = $objArray1}
由于我有一个命令为我提供了 powershell 对象,因此我最终将其转换为哈希表,如下所述:PSCustomObject to Hashtable
关于azure - 使用 New-AzResourceGroupDeployment 将对象数组传递到二头肌模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72061789/
我有一个二头肌模板,其参数类型为“数组”。我试图给它的数组是一个对象数组。这是一个示例 Bicep,我在其中获取一个数组并以各种方式输出其中的一部分。 param rulesFromJson arra
我有一个二头肌模板,其参数类型为“数组”。我试图给它的数组是一个对象数组。这是一个示例 Bicep,我在其中获取一个数组并以各种方式输出其中的一部分。 param rulesFromJson arra
我想在 PowerShell 中围绕 New-AzResourceGroupDeployment 编写一个包装器。因此,让我们假设以下脚本: New-AzResourceGroupDeployment
虽然我知道答案,但我只是想我会把这个问题留给遇到此错误消息的其他人。我的搜索结果中似乎没有任何结果。 使用此命令运行 Azure 资源管理器模板时: New-AzResourceGroupDeploy
我需要在 PowerShell 中运行以下命令: New-AzResourceGroupDeployment -Name Myrg1010 -ResourceGroupName ADF
我正在尝试按照此处提供的说明创建 Application Insights 资源:https://learn.microsoft.com/en-us/azure/azure-monitor/app/p
我正在尝试按照此处提供的说明创建 Application Insights 资源:https://learn.microsoft.com/en-us/azure/azure-monitor/app/p
我是 Microsoft Azure 的初学者,请耐心等待。我正在关注this关于使用参数部署二头肌模板的教程,我的二头肌文件与教程中的完全相同。但是,当我尝试部署它时,出现以下错误 New-AzRe
我是 Microsoft Azure 的初学者,请耐心等待。我正在关注this关于使用参数部署二头肌模板的教程,我的二头肌文件与教程中的完全相同。但是,当我尝试部署它时,出现以下错误 New-AzRe
我有一个发布设置,正在尝试通过 Azure DevOps 发布管道进行发布。这是基于我克隆的另一个版本并且运行良好。 问题是模板未通过验证检查并且无法进一步进行。奇怪的是我能够使用 new-AzRes
我是一名优秀的程序员,十分优秀!