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

CloudFormation模板如何传入JSON参数配置SageMaker模型环境变量

可行实现方案

方案1:单参数传入完整环境变量JSON(推荐,适配动态环境变量场景)

这是目前最便捷的实现方式,依赖CloudFormation官方语言扩展即可原生支持JSON类型参数:

  1. 模板顶部声明启用语言扩展
  2. 定义类型为JSON的参数接收外部传入的环境变量配置
  3. 直接在容器定义的Environment字段引用该参数即可

完整模板示例:

AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::LanguageExtensions
Parameters:
  ExecutionRoleArn:
    Type: String
  ImageURI:
    Type: String
  ContainerEnvironment:
    Type: JSON
    Description: SageMaker容器环境变量键值对
Resources:
  SageMakerModel:
    Type: 'AWS::SageMaker::Model'
    Properties:
      ExecutionRoleArn: 
        Ref: ExecutionRoleArn
      EnableNetworkIsolation: false
      PrimaryContainer:
        Environment: !Ref ContainerEnvironment
        Image: 
          Ref: ImageURI

参数传入方式示例(AWS CLI):

aws cloudformation deploy --template-file sagemaker-model.yaml \
  --parameter-overrides ExecutionRoleArn=你的角色ARN ImageURI=你的镜像URI \
  ContainerEnvironment='{"REQUEST_KEEP_ALIVE_TIME_SEC":"90","CUSTOM_ENV":"自定义值"}'

方案2:单环境变量单独定义参数(兼容性最强,无需扩展)

如果你的环境变量键名固定,不需要动态增减,不需要启用语言扩展也可以实现,兼容性最高:

AWSTemplateFormatVersion: "2010-09-09"
Parameters:
  ExecutionRoleArn:
    Type: String
  ImageURI:
    Type: String
  RequestKeepAliveTimeSec:
    Type: String
    Default: "90"
  CustomEnv:
    Type: String
    Default: "默认值"
Resources:
  SageMakerModel:
    Type: 'AWS::SageMaker::Model'
    Properties:
      ExecutionRoleArn: 
        Ref: ExecutionRoleArn
      EnableNetworkIsolation: false
      PrimaryContainer:
        Environment:
          REQUEST_KEEP_ALIVE_TIME_SEC: !Ref RequestKeepAliveTimeSec
          CUSTOM_ENV: !Ref CustomEnv
        Image: 
          Ref: ImageURI
最佳实践
  • 敏感类环境变量(如接口密钥、数据库密码)不要直接通过明文参数传入,建议存放到AWS Parameter Store或Secrets Manager中,模板内通过动态引用{{resolve:ssm:参数名}}或{{resolve:secretsmanager:密钥名}}获取,避免明文泄露
  • 如果环境变量经常需要增减调整,优先选方案1,减少模板修改成本
  • 如果环境变量固定且需要做参数校验(比如长度、允许值范围限制),优先选方案2,可直接在参数定义中添加校验规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:24:04