AWS PHP SDK调用Polly时neural神经引擎参数被忽略问题求助
问题排查结论及解决方案
核心原因
- 90%以上概率是AWS PHP SDK版本过低,旧版本SDK不识别
Engine参数,会自动过滤请求中不被当前SDK支持的字段,导致请求体没有携带该参数 - 其次可能是Polly客户端初始化时指定的API版本过旧,该版本的API规范中还未收录
Engine参数,同样会被过滤 - 小概率是参数拼写错误,比如
Engine写成小写engine也会被服务端/SDK自动忽略
修复步骤
- 升级AWS PHP SDK到最新稳定版,通过Composer执行命令:
composer update aws/aws-sdk-php
要求SDK版本不低于3.92.0(该版本首次新增对Polly神经引擎参数的支持) - 检查Polly客户端初始化配置,确保
version参数设置正确,建议直接使用latest:
$pollyClient = new Aws\Polly\PollyClient([ 'region' => '你的服务区域', 'version' => 'latest', // 不要指定2019年之前的旧API版本 'credentials' => $yourCredentials ]);
- 确认参数拼写正确:
Engine首字母大写,参数值为小写的neural,升级完成后重新发起请求即可。
内容的提问来源于stack exchange,提问作者Robin Alexander
相关产品推荐
相关产品推荐

