Aws lambda 在handler.js中使用serverless.yml中的stage变量

Aws lambda 在handler.js中使用serverless.yml中的stage变量,aws-lambda,serverless,Aws Lambda,Serverless,我想在handler.js serverless.yml provider: name: aws runtime: nodejs10.x region: ap-northeast-2 stage: ${opt:stage, "dev"} ... handler.js export const hello = () => { // I'd like to use the stage in here, const isDev = stage === 'dev';

我想在
handler.js

serverless.yml

provider:
  name: aws
  runtime: nodejs10.x
  region: ap-northeast-2
  stage: ${opt:stage, "dev"}
...
handler.js

export const hello = () => {
  // I'd like to use the stage in here,
  const isDev = stage === 'dev';
  return {
    statusCode: 200,
    body: {
      message: `isDev ${isDev}`
    }
  }
}


如果您的集成方法是“Lambda代理集成”,那么您应该能够通过
event.requestContext.stage
访问stage

export const hello = (event) => {
  // I'd like to use the stage in here,
  console.log('stage is: ', event.context.stage)
  const isDev = stage === 'dev';
  return {
    statusCode: 200,
    body: {
      message: `isDev ${isDev}`
    }
  }
}

我找不到
event.context.stage
,但我刚刚得到了
event.requestContext.stage
我刚刚找到了另一个使用
process.env的答案,但我觉得你的答案更好。