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

AWS Amplify推送Analytics后aws-exports.js未更新,报错:无凭证、应用ID或区域

解决AWS Amplify Analytics报错:Error: No credentials, applicationId or region

问题根源

你的aws-exports.js缺少aws_mobile_analytics_app_id和aws_mobile_analytics_app_region字段,核心原因是Amplify项目未添加Analytics模块,或云端配置未同步到本地文件。

解决方案

1. 为Amplify项目添加Analytics模块

如果还未在项目中配置Analytics服务,通过Amplify CLI完成以下操作:

  • 运行命令初始化Analytics配置:
    amplify add analytics
    
  • 按照CLI引导完成设置:
    • 选择默认的AWSPinpoint作为分析服务
    • 启用会话追踪(Session tracking)等所需功能
    • 确认配置后,推送变更到云端:
      amplify push
      
    执行完成后,aws-exports.js会自动生成包含Analytics相关字段的配置内容。

2. 同步本地配置与云端

如果已经添加过Analytics但aws-exports.js未更新,拉取最新的云端配置到本地:

amplify pull

3. 调整代码确保配置时机正确

避免在Amplify.configure完成前调用Analytics相关API,将autoTrack和record逻辑放到组件的useEffect中(确保Amplify配置已生效):

import { Amplify, Analytics } from 'aws-amplify';
import awsconfig from './aws-exports';
import { useEffect } from 'react';

Amplify.configure(awsconfig);

function App() {
  useEffect(() => {
    // 初始化会话追踪
    Analytics.autoTrack('session', {
      enable: true,
      provider: 'AWSPinpoint'
    });
    
    // 记录自定义启动事件
    Analytics.record({ name: 'app launched' });
  }, []);

  return <div>你的应用内容</div>;
}

export default App;

4. 验证配置有效性

检查aws-exports.js文件,确认存在以下关键字段:

export default {
  // ...其他配置项
  "aws_mobile_analytics_app_id": "你的Pinpoint应用ID",
  "aws_mobile_analytics_app_region": "你的服务区域",
  // ...其他配置项
};

若以上步骤完成后仍有问题,可尝试清除依赖并重新安装:

rm -rf node_modules package-lock.json
npm install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:35:00