【问题标题】:Azure Automation Error 'DynamicActivity': Expected an input parameter value of typeAzure 自动化错误“DynamicActivity”:需要输入参数值类型
【发布时间】:2016-11-07 18:15:20
【问题描述】:

使用 Microsoft Sample-Using-RunbookParameter 脚本并运行以下 Azure 自动化 PowerShell 时:

$date = Get-Date
$Params = @{"Name"="World";"Number"=1; "Date"=$date; "SayGoodBye"=$TRUE; "StringArray"="[1,'astringvalue',2]"}
Start-AzureAutomationRunbook -AutomationAccountName CMTEST -Name Sample-Using-RunbookParameters -Parameters $Params

我得到以下异常:

The values provided for the root activity's arguments did not satisfy the root activity's requirements:
'DynamicActivity': Expected an input parameter value of type 'System.Boolean' for parameter named 'SayGoodbye'.
'DynamicActivity': Expected an input parameter value of type 'System.DateTime' for parameter named 'Date'.
 jParameter name: rootArgumentValues

如果我查看 Azure 自动化作业日志,我会看到以下输入参数:

DATE Fri, 08 Aug 2014 15:26:14 GMT
NAME World
NUMBER 1
SAYGOODBYE True
STRINGARRAY [1,'astringvalue',2]

【问题讨论】:

    标签: powershell azure


    【解决方案1】:

    这是由于 Azure 自动化 cmdlet 中的一个错误,该错误将在即将发布的 Azure PowerShell 版本中修复(如果不是下一个版本,则为之后的版本)。基本上,该 cmdlet 应该将每个作业参数序列化为 json,但目前将它们作为每个字符串作为字符串传递。

    此外,一旦这个问题得到解决,请按照您当前的做法在您的代码中执行上述操作:

    "StringArray"="[1,'astringvalue',2]"
    

    您将需要使用适当的 PowerShell 数组:

    $SomeArray = @(1, "astringvalue", 2)
    "StringArray"=$SomeArray
    

    【讨论】:

    • 当 Runbook 的参数被指定为字符串,但随后使用数值执行时,当直接通过 UI 启动(已发布或在测试窗口中)时,我收到此错误 &当为 AA 使用 ISE 附加组件时:它抱怨数值与预期的字符串类型不匹配。
    • 我建议开始你自己的 SO 问题。但是,如果您将数字作为 int 传递,请将参数类型设置为 [int]。如果您将数字作为字符串传递,请将参数类型设置为 [string]。
    • 现在,在通过 webhook 或作为子 Runbook 实际执行期间(不知道作为新作业),这不是问题,只是在使用 ISE 或 Portal UI 启动 Runbook 时。 IIRC 只需将数字括在引号中即可缓解此问题。
    【解决方案2】:

    您可以使用$ 签名传递布尔值。如下:

    $params = @{“AZURERESOURCEGROUP”=”Infra-ResourceGroup”;”SHUTDOWN”=$TRUE}
    

    在上面的示例中,resourcegroup 名称将作为字符串传递给 AZURERESOURCEGROUP 参数。要传递BOOLEAN 值,您可以使用$TRUE/$FALSE

    【讨论】:

      猜你喜欢
      • 2021-10-24
      • 2015-12-16
      • 1970-01-01
      • 2020-03-24
      • 2022-08-04
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多