给出一个简单的Runbook:
workflow test
{
[CmdletBinding()]
param([string] $NumericString)
write-output $NumericString
}
当使用数字值(即:5)通过Azure门户作为新作业(已发布),通过测试窗格或使用Azure自动化PowerShell ISE加载项启动时,将返回以下错误,并且执行失败。
[编辑]出于好奇,我尝试了其他一些价值观。 'true'或'false'(在ise / ui中没有引号)也会导致错误(并在引号内发送到API)。[\ edit]
为根活动的参数提供的值不满足 根活动的要求:'DynamicActivity':预期输入 名为'Numeric'的参数的类型'System.String'的参数值。 参数名称:rootArgumentValues
AFAIK,当我通过父Runbook,webhook等执行时,这不是一个因素。
PowerShell ISE Add-On向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
}
}
答案 0 :(得分:1)
这似乎是一个错误,类似于Azure Automation Error 'DynamicActivity': Expected an input parameter value of type
要解决此问题,只需将数字值包装在Portal或ISE加载项的引号中
如果您在正式SDK之外启动Runbook,您似乎需要知道为字符串参数发送数字或布尔值所需的额外转义(至少)。
这是后续PUT请求的样子(来自ISE Add-On)
{
"parameters": {
"Numeric": "\"5\""
}
}
答案 1 :(得分:1)
这是自动化门户和ISE添加的错误。对于门户网站,这应该在一周左右修复。对于ISE添加,请在此处提出错误:https://github.com/azureautomation/azure-automation-ise-addon/issues