0

给定一个简单的运行手册:

workflow test
{
    [CmdletBinding()]
    param([string] $NumericString)

    write-output $NumericString
}

当通过 Azure 门户作为新作业(已发布)、通过测试窗格或使用 Azure 自动化 PowerShell ISE 附加组件以数值(即:5)启动它时,将返回以下错误并且执行失败。

[编辑] 出于好奇,我尝试了其他一些值。'true' 或 'false'(在 ise/ui 中没有引号)也会导致错误(并在引号内发送到 API)。[\edit]

为根活动的参数提供的值不满足根活动的要求:“DynamicActivity”:对于名为“Numeric”的参数,需要一个“System.String”类型的输入参数值。参数名称:rootArgumentValues

AFAIK,当我通过父 runbook、webhook 等执行时,这不是一个因素。

PowerShell ISE 附加组件向 API 发出此 PUT 请求:( https://management.azure.com/subscriptions/<id>/resourceGroups/<rg>/providers/Microsoft.Automation/automationAccounts/<aa>/runbooks/<rb>/draft/testJob?api-version=2015-10-31)

{
    "parameters": {
        "Numeric": "5"  <-- notice it's a string
    }
}

在此处输入图像描述

4

2 回答 2

1

这是自动化门户和 ISE 插件中的错误。对于门户网站,这应该在一周左右的时间内修复。对于 ISE 插件,您能否在此处提交一个错误:https ://github.com/azureautomation/azure-automation-ise-addon/issues

于 2016-03-03T18:47:33.447 回答
1

这似乎是一个错误,类似于Azure 自动化错误 'DynamicActivity': Expected an input parameter value of type

要缓解此问题,只需在门户或 ISE 附加组件中将您的数值用引号括起来

如果您在正式 SDK 之外启动运行手册,您似乎需要了解为字符串参数发送数字或布尔值所需的额外转义(至少)。

这就是后续 PUT 请求的样子(来自 ISE 附加组件)

{
    "parameters": {
        "Numeric": "\"5\""  
    }
}
于 2016-02-25T23:36:10.450 回答