能否通过CLI直接使用AWS Polly读取S3存储桶中的文本文件?
使用AWS Polly将S3中的TXT文件转换为MP3音频文件
你可以通过两种方式实现读取S3桶内的TXT文件并转换为MP3,无需硬编码文本内容:
方法一:先下载S3文件到本地再转换
这种方式适合需要保留本地临时文件的场景:
- 首先将S3中的TXT文件下载到本地临时路径:
aws s3 cp s3://你的存储桶名称/文件路径/目标文件.txt /tmp/temp-text.txt
- 接着使用Polly读取本地文件内容生成MP3:
aws polly synthesize-speech --text file:///tmp/temp-text.txt --output-format mp3 --voice-id Emma ~/Downloads/speech.mp3
- (可选)转换完成后删除临时文件:
rm /tmp/temp-text.txt
方法二:通过管道直接传递内容(无需本地文件)
这种方式无需保存本地文件,直接通过管道将S3文件内容传递给Polly:
aws s3 cp s3://你的存储桶名称/文件路径/目标文件.txt - | aws polly synthesize-speech --text - --output-format mp3 --voice-id Emma ~/Downloads/speech.mp3
注意事项
- 请将命令中的
你的存储桶名称和文件路径/目标文件.txt替换为实际的S3桶名与文件路径 - 确保你的AWS CLI具备以下权限:S3的
s3:GetObject权限(用于读取TXT文件)、Polly的polly:SynthesizeSpeech权限(用于生成音频) - 若TXT文件采用非UTF-8编码,需提前处理编码格式,避免合成音频出现乱码
内容的提问来源于stack exchange,提问作者user22756355
相关产品推荐
相关产品推荐

