You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CloudFormation的AWS::SSM::Parameter中传入字典结构Value

问题分析与解决方法

错误原因

你的CloudFormation模板中,Value字段的JSON字符串存在双引号嵌套解析错误:YAML语法里,双引号包裹的字符串内部的双引号会被识别为字符串的结束符,导致整个Value的内容被YAML错误拆分,最终触发SSM参数的类型验证失败(因为解析后的内容不再是合法的字符串类型)。

正确的实现方式

以下三种方法都可以正确设置字典结构的SSM String类型参数:

方法1:用单引号包裹整个JSON字符串

YAML中,单引号包裹的字符串内部的双引号无需转义,直接使用即可:

AWSTemplateFormatVersion: "2010-09-09"
Description: Systems Manager Parameter Store Parameters
Resources:
  Test-Channels:
    Type: AWS::SSM::Parameter
    DeletionPolicy: Delete
    Properties:
      Name: test-Channels
      Description: Lambda required parameter key and values
      Type: String
      Value: '{"key1": "value1","key2": "value2", "key3": "value3"}'

方法2:转义内部双引号

在JSON里的每个双引号前添加反斜杠\,让YAML把内部双引号识别为字符串的一部分:

AWSTemplateFormatVersion: "2010-09-09"
Description: Systems Manager Parameter Store Parameters
Resources:
  Test-Channels:
    Type: AWS::SSM::Parameter
    DeletionPolicy: Delete
    Properties:
      Name: test-Channels
      Description: Lambda required parameter key and values
      Type: String
      Value: "{ \"key1\": \"value1\",\"key2\": \"value2\", \"key3\": \"value3\"}"

方法3:使用YAML多行字符串标记|

如果JSON结构复杂,用多行字符串更易读,|会保留换行和格式,最终存储为字符串类型的JSON:

AWSTemplateFormatVersion: "2010-09-09"
Description: Systems Manager Parameter Store Parameters
Resources:
  Test-Channels:
    Type: AWS::SSM::Parameter
    DeletionPolicy: Delete
    Properties:
      Name: test-Channels
      Description: Lambda required parameter key and values
      Type: String
      Value: |
        {
          "key1": "value1",
          "key2": "value2",
          "key3": "value3"
        }

内容的提问来源于stack exchange,提问作者jia chang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:35:29