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

SST 3.x中如何在AWS Lambda函数中读取当前Stage

在SST 3.x中获取Stage并传入Lambda上下文

实现步骤

1. 在配置文件中导出Stage

修改你的根目录sst.env.config文件,在run函数里将Stage作为导出项:

export default $config({
  app(input) {
    return {
      name: "my-project",
      removal: input?.stage === "production" ? "retain" : "remove",
      home: "aws",
    };
  },
  async run() {
    // 获取当前Stage,优先用SST注入的环境变量
    const stage = process.env.SST_STAGE ?? "dev";
    // some imports here
    return {
      // some exports here
      Region: aws.getRegionOutput().name,
      Stage: stage // 导出Stage到配置上下文
    };
  },
});

2. 生成类型声明文件

运行SST的环境类型生成命令,自动生成包含配置项类型的sst/env.d.ts文件:

npx sst env

3. 在Lambda函数中读取Stage

在Lambda代码里通过sst/env导入环境配置,直接获取Stage:

import { env } from "sst/env";

export async function handler() {
  const currentStage = env.Stage;
  
  // 根据环境切换业务逻辑
  if (currentStage === "production") {
    // 生产环境执行逻辑
  } else if (currentStage === "test") {
    // 测试环境执行逻辑
  } else {
    // 开发环境执行逻辑
  }
  
  return {
    statusCode: 200,
    body: `当前运行环境:${currentStage}`
  };
}

简化方案:直接读取环境变量

SST会自动将SST_STAGE环境变量注入所有Lambda函数,无需额外配置即可直接读取:

export async function handler() {
  const currentStage = process.env.SST_STAGE ?? "dev";
  // 后续逻辑同上
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:22:06