如何在 SSM 文档中使用 StringMap 参数?
Posted
技术标签:
【中文标题】如何在 SSM 文档中使用 StringMap 参数?【英文标题】:How to use StringMap parameters in SSM documents? 【发布时间】:2020-02-24 17:05:53 【问题描述】:我在 SSM 文档中有以下步骤。调用的结果是一个 Json,所以我想将它解析为一个 stringMap(这似乎是它的正确类型),而不是为我想要引用的每个变量创建一个输出
我尝试将其作为两者来引用:
GetLoadBalancerProperties.Description.Scheme
和
GetLoadBalancerProperties.Description[\"LoadBalancerName\"]
在这两种情况下,我都会收到一条错误消息,指出从未定义变量
"name": "GetLoadBalancerProperties",
"action": "aws:executeAwsApi",
"isCritical": true,
"maxAttempts": 1,
"onFailure": "step:deleteParseCloudFormationTemplate",
"inputs":
"Service": "elb",
"Api": "describe-load-balancers",
"LoadBalancerNames": [
" ResourceId "
]
,
"outputs": [
"Name": "Description",
"Selector": "$.LoadBalancerDescriptions[0]",
"Type": "StringMap"
]
这是实际的消息:
步骤在验证和解析步骤输入时失败。无法解析输入:GetLoadBalancerProperties.Description["LoadBalancerName"] 键入字符串。自动化文档中未定义 GetLoadBalancerProperties.Description["LoadBalancerName"]。有关详细诊断信息,请参阅自动化服务故障排除指南。
【问题讨论】:
【参考方案1】:我相信您正在寻找的答案在这里: https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-plugins.html#top-level-properties-type
仅举几个例子:
Map 类型是 Python 字典,因此如果您的输出是字典,您应该在 SSM 文档中使用 StringMap。
List 类型与 Python 列表相同。
因此,如果您的输出是字典列表,那么您要使用的类型是 MapList。
【讨论】:
以上是关于如何在 SSM 文档中使用 StringMap 参数?的主要内容,如果未能解决你的问题,请参考以下文章
SSM Controller 页面之间跳转 重定向,有参 无参问题
类型“订阅”缺少类型“可观察<StringMap<any>>”中的以下属性