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

私有发布的AWS Sumerian场景如何在React应用中集成Polly、Lex功能

私有发布Sumerian场景集成Polly、Lex功能的解决方法

问题原因

私有发布的Sumerian场景默认不会继承Amplify的登录用户凭证,调用Polly、Lex服务时会因权限校验失败无法运行;公开发布场景使用匿名公开权限,只要对应服务开了匿名访问就能正常运行,所以才会出现两种发布模式效果不一致的情况。

修复步骤

1. 调整App.js代码

你原有代码没有将配置好权限的AWS SDK实例传递给SumerianScene组件,参考以下代码修改:

import React, {Component} from 'react';
import './App.css';
import { withAuthenticator, SumerianScene  } from 'aws-amplify-react';
import Amplify, { Auth } from 'aws-amplify';
import Aws_exports from './aws-exports';
import '@aws-amplify/ui/dist/style.css';
import AWS from 'aws-sdk';
    
Amplify.configure(Aws_exports);
// 配置AWS SDK从Amplify Auth获取当前登录用户的凭证
AWS.config.region = Aws_exports.aws_project_region;
AWS.config.credentials = () => Auth.currentCredentials();

class App extends Component {
  render() {
    return (
       <div style={ { height: '100vh' } }>
         {/* 将配置好的AWS实例传递给SumerianScene,注意检查sceneName拼写是否正确 */}
         <SumerianScene sceneName='Scene1' awsSdk={AWS}/>
       </div>
      );
  }
};

export default withAuthenticator(App);

2. 配置IAM角色权限

找到Amplify项目生成的已认证用户IAM角色,为其添加以下权限(可根据实际需求缩小权限范围):

  • 调用Polly服务的权限,例如AmazonPollyReadOnlyAccess系统策略
  • 调用目标Lex机器人的权限,例如AmazonLexRunBotsOnly系统策略,也可以自定义策略仅允许访问指定的Lex机器人ARN

3. 检查Sumerian场景配置

打开Sumerian编辑器,找到场景内的Lex、Polly组件,关闭「使用匿名凭证」的配置选项,重新导出场景包上传到Amplify即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 21:39:03