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

AWS Amplify生产环境Notion数据库ID环境变量未定义问题

排查AWS Amplify生产环境Next.js环境变量未加载问题
  • 检查Amplify环境变量的暴露配置
    AWS Amplify不会自动把控制台配置的环境变量传给Next.js,得在构建脚本里手动注入。
    打开Amplify控制台的App settings > Build settings,编辑amplify.yml,在build阶段添加变量注入命令:

    build:
      commands:
        - echo "NEXT_NOTION_MARKETING_DATABASE_ID=$NEXT_NOTION_MARKETING_DATABASE_ID" >> .env.production
        # 其他需要的变量照这个格式添加
        - npm run build
    

    如果是客户端需要访问的变量,记得变量名加NEXT_PUBLIC_前缀,控制台也要配置对应的变量名,然后在构建命令里注入:

    build:
      commands:
        - NEXT_PUBLIC_NOTION_MARKETING_DATABASE_ID=$NEXT_PUBLIC_NOTION_MARKETING_DATABASE_ID npm run build
    
  • 验证Next.js环境变量的读取逻辑

    • 服务端组件、API路由里,直接用process.env.NEXT_NOTION_MARKETING_DATABASE_ID读取,再核对一遍拼写和大小写(哪怕你说确认过,再查一次总没错)。
    • 客户端组件里,必须用带NEXT_PUBLIC_前缀的变量,比如process.env.NEXT_PUBLIC_NOTION_MARKETING_DATABASE_ID,不然客户端拿不到。
    • 打印变量时区分环境:服务端日志看CloudWatch,客户端日志看浏览器控制台,确认变量在对应环境里有没有加载。
  • 核对Amplify部署的环境分支
    确认你在控制台配置变量的环境(比如main分支)和实际部署的分支是同一个,别在测试环境配置了变量,却部署了生产分支。去Amplify的Deployments页面看最新部署的构建日志,搜变量名,确认构建阶段有没有正确注入。

  • 清除Amplify构建缓存
    旧缓存可能导致环境变量不更新,在Deployments页面找到最新部署,点击"Redeploy"并勾选"Clear build cache",重新构建部署。

  • 检查Next.js版本的环境变量处理差异
    要是用的Next.js 13+ App Router,服务端组件读取变量的方式和Pages Router一致,但得确保在服务端上下文(比如async function ServerComponent())里读取,别在客户端组件里直接读非NEXT_PUBLIC_的变量。

代码示例参考

服务端API路由(app/api/notion/route.js):

export async function POST(request) {
  const dbId = process.env.NEXT_NOTION_MARKETING_DATABASE_ID;
  console.log('Database ID:', dbId); // 日志出现在CloudWatch
  if (!dbId) {
    throw new Error('NOTION_MARKETING_DATABASE_ID environment variable is missing.');
  }
  // Notion API调用逻辑
}

客户端组件(app/components/NotionClient.js):

'use client';

export default function NotionClient() {
  const dbId = process.env.NEXT_PUBLIC_NOTION_MARKETING_DATABASE_ID;
  console.log('Client Database ID:', dbId); // 日志在浏览器控制台查看
  return <div>Database ID: {dbId}</div>;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 05:42:41