Чтобы создать CloudWatch Dashboard в CloudFormation , необходимо предоставить исходный код панели инструментов в виде строкового JSON, а не в виде отдельной структуры JSON .
Это раздражает, потому что мой JSON должен быть экранирован внутри строкового литерала внутри моего serverless.yml
:
...
resources:
Resources:
MyDashboard:
Type: AWS::CloudWatch::Dashboard
Properties:
DashboardName: My-Dashboard
DashboardBody: "{\"widgets\": [...]}"
Я попытался использовать ссылку на файл:
...
resources:
Resources:
MyDashboard:
Type: AWS::CloudWatch::Dashboard
Properties:
DashboardName: My-Dashboard
DashboardBody: ${file(my-dashboard.json)}
но serverless
вставляет содержимое как часть структуры YAML, а не как часть строки JSON:
...
resources:
Resources:
MyDashboard:
Type: AWS::CloudWatch::Dashboard
Properties:
DashboardName: My-Dashboard
DashboardBody:
Widgets:
- ...
- ...
Есть ли способ stringify
JSON из my-dashboard.json