Azure自动化作业OData$筛选器
背景Azure自动化作业OData$筛选器,azure,odata,azure-automation,azure-runbook,Azure,Odata,Azure Automation,Azure Runbook,背景 我有一个应用程序,它使用 我想在properties参数上应用$filter(见最后的JSON)。参数的类型为IDictionary 问题 $filter对于大多数属性都可以正常工作,但对于IDictionary 这就是我正在尝试的https://management.azure.com/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Automation/automationAccounts/XXX/jobs?$fi
- 我有一个应用程序,它使用
- 我想在properties参数上应用$filter(见最后的JSON)。参数的类型为
IDictionary
- $filter对于大多数属性都可以正常工作,但对于
IDictionary
- 这就是我正在尝试的
https://management.azure.com/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Automation/automationAccounts/XXX/jobs?$filter=属性/参数/任意(keyValue:keyValue/owner eq'Adam@test.com)&api版本=2015-10-31
- 请求失败,出现错误
{ “代码”:“BADDREQUEST”, “消息”:“在类型“System.Collections.Generic.KeyValuePair\u 2OfString\u String”上找不到名为“owner”的属性。” }
- 是否可以过滤我正在尝试的内容
- 如果是,那么我做错了什么
“值”:[
{
“id”:“/subscriptions/XXX/resourceGroups/XXX/providers/Microsoft.Automation/automationAccounts/XXX/jobs/XXX”,
“财产”:{
“作业ID”:“XXX”,
“运行手册”:{
“名称”:“HelloWorldRunbook”
},
“附表”:空,
“provisioningState”:“已成功”,
“状态”:“已完成”,
“creationTime”:“2018-06-17T05:44:12.197+00:00”,
“开始时间”:“2018-06-17T05:44:21.227+00:00”,
“lastModifiedTime”:“2018-06-17T05:44:43.43+00:00”,
“结束时间”:“2018-06-17T05:44:43.43+00:00”,
“作业计划ID”:“7fc134ac-d8bd-464e-b041-6e6b50f83f0c”,
“runOn”:空,
“参数”:{
“所有者”:Adam@test.com",
“邮箱”:“测试”_mailbox@test.com"
}
}
为了简洁起见删除了
当我尝试运行时,响应正文中没有返回属性参数
如果是,那么我做错了什么
但根据您提到的responsed json格式,parameters属性是一个对象而不是字典,因此您可以使用$filter=properties/parameters/Owner eq'Adam@test.com“
如果确保参数存在,则执行此操作
Get https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs?api-version=2015-10-31&$filter=properties/parameters/Owner eq 'Adam@test.com'
我尝试测试,但响应正文中没有返回
参数
。我在runbook中使用powershell命令进行测试,脚本需要参数。是否介意共享您的runbook脚本演示代码以获取响应中的参数?@TomSun感谢您的响应!我假设有参数
属性,因为它们是在您尝试此操作时返回的。如果我的假设没有意义,请抱歉?Parameters属性不是对象,而是IDictionary属性
Get https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs?api-version=2015-10-31&$filter=properties/parameters/Owner eq 'Adam@test.com'