Как создать несколько условий в правиле слушателя - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь создать правило слушателя с двумя различными условиями, и у меня постоянно возникает ошибка.

    "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/*" ]
                        }
                    }
        ],

Мне нужно два разных условия. Один из них должен быть типом строки запроса, а другой - тип path-pathern. Я должен создать только создание одного из них, но я не могу создать оба.

Ошибка следующая:

You cannot specify 'QueryStringConfig' for actions of type 'path-pattern' (Service: AmazonElasticLoadBalancingV2; Status Code: 400; Error Code: ValidationError;

Я думаю, что это что-то из синтаксиса, но я не нашел проблему ..

Заранее спасибо.

1 Ответ

0 голосов
/ 08 июля 2019

Проблема в том, что Conditions - это список отдельных условий.У вас должно быть 2 отдельных пункта в этом списке в вашем случае.Если вы присмотритесь к своему json, вы увидите, что вы определяете Field два раза на одном уровне.Второй "Field" : "path-pattern" переопределяет первый "Field": "query-string", поэтому ошибка говорит вам, что вы не можете определить 'QueryStringConfig' для "PathPatternConfig" просто потому, что вы не можете этого сделать.

Вот правильное определение Conditions.

"Conditions": [
    {
        "Field": "path-pattern",
        "Values": ["/one/*"],
        "PathPatternConfig": {
            "Values": ["/one/*"]
        }
    },
    {
        "Field": "query-string",
        "QueryStringConfig": {
            "Values": [
                {
                    "Value": "two",
                    "Key": "app"
                }
            ]
        }
    }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...