Использование Fn :: ImportValue в Dashboard Cloudwatch - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь настроить панель мониторинга в Cloudformation и хочу использовать экспортированное значение, чтобы сделать его динамичным: но он не может сказать:

Тело панели мониторинга недопустимо, есть 1 ошибка проверки: [{"message": "Недопустимый тип поля метрики, разрешен только тип \" String \ "", "dataPath": "/ widgets / 0 / properties / metrics / 0/3"}] (Сервис: AmazonCloudWatch; СтатусКод: 400; Код ошибки: InvalidParameterInput; Идентификатор запроса: 01f3ebfa-d856-11e8-a2dc-dd8c90ad1109)

код:

Resources:
 NATDashboard:
 Type: AWS::CloudWatch::Dashboard
 Properties:
  DashboardName: NAT-Dashboard
  DashboardBody: !Sub |
    {
        "widgets": [
            {
                "type": "metric",
                "x": 0,
                "y": 0,
                "width": 3,
                "height": 9,
                "properties": {
                    "metrics": [
                        [ "AWS/NATGateway", "ActiveConnectionCount", "NatGatewayId", {"Fn::ImportValue": {"Fn::Sub": "${EnvironmentName}-NATGateway1Id"}}, { "stat": "Maximum" } ],
                        [ "...", "nat-057236a417c993781", { "stat": "Maximum" } ],
                        [ "...", "nat-09b8d012addc7e0fe", { "stat": "Maximum" } ]
                    ],
                    "view": "singleValue",
                    "region": "${AWS::Region}"
                }
            },

работает до тех пор, пока я не введу Fn:: ImportValue;есть ли шанс использовать экспортированные значения здесь?

Merci A

1 Ответ

0 голосов
/ 25 октября 2018

DashboardBody является строкой, а краткая форма (без сопоставления) !Sub разрешает только значения в шаблоне .Если вы хотите использовать функцию Fn::ImportValue, вы должны использовать синтаксис карты ключ-значение:

Resources:
 NATDashboard:
 Type: 'AWS::CloudWatch::Dashboard'
 Properties:
  DashboardName: 'NAT-Dashboard'
  DashboardBody: !Sub 
    - |
        {
            "widgets": [
                {
                    "type": "metric",
                    "x": 0,
                    "y": 0,
                    "width": 3,
                    "height": 9,
                    "properties": {
                        "metrics": [
                            [ "AWS/NATGateway", "ActiveConnectionCount", "NatGatewayId", "${NatGatewayId}", { "stat": "Maximum" } ],
                            [ "...", "nat-057236a417c993781", { "stat": "Maximum" } ],
                            [ "...", "nat-09b8d012addc7e0fe", { "stat": "Maximum" } ]
                        ],
                        "view": "singleValue",
                        "region": "${AWS::Region}"
                    }
                }
            ]
        }
    - NatGatewayId: 
        'Fn::ImportValue': !Sub "${EnvironmentName}-NATGateway1Id"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...