Node.js集成AWS Polly用proxy-agent报错:proxy不是函数求解决
解决方案
问题出在proxy-agent v6+的导出结构和旧版本不同,AWS官方文档里的示例是基于旧版proxy-agent(v5及以下)的写法,新版需要使用ProxyAgent类来实例化代理。
修改代码如下:
const { ProxyAgent } = require('proxy-agent'); // 实例化ProxyAgent,注意替换成你的有效代理地址(去掉原地址里的空格) const proxyAgent = new ProxyAgent('https://XXX.XX.XX:XXXX'); AWS.config.update({ httpOptions: { agent: proxyAgent } }); const Polly = new AWS.Polly({ region: cfg_region, accessKeyId: cfg_accessKeyId, secretAccessKey: cfg_secretAccessKey });
关键说明
- v6版本的
proxy-agent不再默认导出可直接调用的函数,而是导出包含ProxyAgent类的对象,所以需要用解构导入或者通过proxy.ProxyAgent的方式获取类 - 代理地址里的空格属于无效格式,必须删除才能正常连接
- 该写法适配Node.js 18.16.0和AWS SDK v2,可正常配合Polly服务使用
内容的提问来源于stack exchange,提问作者Ian
相关产品推荐
相关产品推荐

