amazon-web-services - 如何在侦听器规则上创建多个条件
问题描述
我正在尝试创建具有两种不同条件的侦听器规则,但我一直都出错。
"ListenerRule": {
"Type": "AWS::ElasticLoadBalancingV2::ListenerRule",
"Properties": {
"Actions": [
{
"Type": "forward",
"TargetGroupArn": {
"Ref": "SwaggBOTG"
}
}
],
"Conditions": [
{
"Field": "query-string",
"QueryStringConfig": {
"Values": [
{
"Key": "app",
"Value": "two"
}
]
},
"Field" : "path-pattern",
"PathPatternConfig": {
"Values" : [ "/one/*" ]
}
}
],
我需要两种不同的条件。其中一个应该是查询字符串类型,另一个应该是路径路径类型。我只能创建其中一个,但我无法同时创建两者。
错误是下一个:
You cannot specify 'QueryStringConfig' for actions of type 'path-pattern' (Service: AmazonElasticLoadBalancingV2; Status Code: 400; Error Code: ValidationError;
我认为这是语法的问题,但我没有发现问题..
提前致谢。
解决方案
问题是这Conditions
是一个单独条件的列表。在您的情况下,该列表中应该有 2 个单独的项目。如果您仔细查看您的 json,您会发现您Field
在同一级别定义了两次。第二个"Field" : "path-pattern"
覆盖第一个"Field": "query-string"
,因此错误告诉您不能仅仅因为您不能这样做而定义'QueryStringConfig'
。"PathPatternConfig"
这是 的正确定义Conditions
。
"Conditions": [
{
"Field": "path-pattern",
"PathPatternConfig": {
"Values": ["/one/*"]
}
},
{
"Field": "query-string",
"QueryStringConfig": {
"Values": [
{
"Value": "two",
"Key": "app"
}
]
}
}
]
推荐阅读
- html - 如何制作一个不会将我的所有内容向下推的导航栏?
- ios - 如何在 iOS 中捕捉 50m 内可靠且电池友好的“离家”事件?
- python - Scrapy python - 我不断爬取 0 页
- python - 来自 NLTK 的 ne_chunk 和 NER 的节之间的区别?
- haskell - 递归使用 Either
- symfony - 教义继承和关联
- quickfix - Quickfix (C++) 值的数据格式不正确:40
- javascript - 使用其他词来实现 JavaScript 中保留关键字的相同功能
- c# - 使用 Protobuf-net 时的项目分隔符
- r - 为什么 R 中的插补函数会发生此错误?