本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Polly 中的配额
Amazon Polly 通过拒绝过多请求,对客户流量实行配额制。对于单个 Amazon Web Services 账户,在单个区域内,使用标准语音的 SynthesizeSpeech
请求的默认配额为每秒 80 个事务 (tps)。如果限制没有增加,并且您使用标准语音每秒生成 100 个 SynthesizeSpeech
请求,则每秒 80 个请求将成功,而每秒 20 个请求将受到 Amazon Polly 的限制。此类请求将返回一个 HTTP 状态为 400 的响应和一个表示 ThrottlingException
的响应标头。Amazon Polly 还会根据请求速率对所有操作进行节流。
语音合成限制示例
-
合成英语字母表的前 24 个字母,一次只能合成一个字母。如果每个字母的合成时间少于 50 毫秒,操作限制为 8tps,则合成 24 个字母至少需要三秒钟。在此期间,您每秒最多可以合成八个字母。任何进一步的请求都将受到限制。由于请求持续的时间很短,因此它们将按顺序合成,不会重叠。
-
合成 16 个段落。如果每个段落在两秒或更短的时间内在客户端合成并完全接收且操作限制为八个并发请求,则合成所有 16 篇文章至少需要四秒钟。在第一秒内,您最多可以启动八个请求。在并发请求期间,由于并发限制,任何启动新合成的尝试都将受到限制。在第一批请求完成后,您可以在前两秒钟后合成剩余的八个段落。
在使用 Amazon Polly 时,请记住以下限制。
支持的 区域
有关提供 Amazon Polly 的 Amazon 区域列表,请参阅中的 A mazon Polly 终端节点和配额。Amazon Web Services 一般参考
配额和节流率
下表定义了每个 Amazon Polly 操作的节流率。必要时,您可以使用 Amazon Web Services Management Console 来请求增加可调整配额的配额。
操作 |
限制 |
---|---|
词典 |
|
|
这些操作组合起来为每秒任意 2 个事务 (tps)。 允许的最大突增为 4 tps。 |
语音 |
|
|
80 tps,突增限制为 100 tps |
|
生成语音:8 tps 长篇语音:8 tps,突增限制为 10 tps 神经语音:8 tps,突增限制为 10 tps 标准语音:80 tps,突增限制为 100 tps |
|
生成语音:1 tps 长篇语音:1 tps 神经语音:1 tps 标准语音:10 tps,突增限制为 12 tps |
|
总共最多允许 10 tps |
并发请求
对于生成语音,Amazon Polly 最多支持 26 个并发请求。对于长篇语音,Amazon Polly 最多支持 26 个并发请求。对于神经语音,Amazon Polly 支持 8tps,突发限制为 10tps,最多可处理 18 个并发请求。Amazon Polly 还支持对并发请求进行限制。对于标准语音,Amazon Polly 支持 80tps,最多可处理 80 个并发请求。
减少节流的最佳实践
-
使用退避和抖动重试节流,以便您在短时间内分散负载,并在不影响可用性的情况下处理意外的使用高峰。 Amazon 代码示例目录 已配置为在许多编程语言中默认执行此操作。请访问功能重试行为以查看详细信息。
-
使用 Amazon Polly 指标。Amazon Polly 会自动发布 CloudWatch 到以分析您的当前使用情况并预测使用量增长。
注意
在申请增加配额(如适用)之前,请按照本页上的指南计算您的 tps 需求。为了保持较低的成本,Amazon Polly 仅根据客户需求确保所需的计算资源。
发音词典
-
您可以在每个账户中存储最多 100 个词典。
-
词典名称可以是不超过 20 个字符的字母数字字符串。
-
每个词典的大小最多为四万个字符。(请注意,词典的大小会影响 SynthesizeSpeech 操作的延迟。)
-
您可以在词典中为每个 <phoneme> 或 <alias> 替换指定最多 100 个字符。
有关使用词典的信息,请参阅 管理词典。
SynthesizeSpeech API 操作
在估算 SynthesizeSpeech
的使用量时,请记住,Amazon Polly 生成的音频,尤其是用于交互式应用程序的音频,通常至少需要几秒钟才能播放。这会将请求速率降低至 SynthesizeSpeech
,即便有大量并发使用者,也是如此。此外,Amazon Polly 会根据其合成的并发请求数量来限制 SynthesizeSpeech
请求。并发请求没有单独设置。并发请求限制值始终与允许的 tps 数量相同,并随着 tps 数量的增加而增加。
短篇故事示例应用程序。您可以使用 Amazon Polly 来构建一款可以播放一系列短篇故事的应用程序。使用这种应用程序,将会从第一个故事开始播放,然后播放下一个故事,依此类推,直到用户退出应用程序。每个故事的合成时间大约为 0.5 秒,播放时间为 10 秒。在这种情况下,使用者每使用应用程序 10 秒钟,就会调用 SynthesizeSpeech
一次。这相当于每 10 名同时使用应用程序的使用者每秒有一次调用。如果您有 1000 名使用者同时使用该应用程序,则 SynthesizeSpeech
的平均调用速率仅为每秒 100 个事务。
请注意以下与使用 SynthesizeSpeech
API 操作相关的限制:
-
输入文本最大为 3000 个计费字符(总计 6000 个字符)。SSML 标签不会算作计费字符。
-
您可以指定最多 5 个要应用于输入文本的词典。
-
输出音频流(合成)限制为 10 分钟。达到此限制之后,将截断任何剩余语音。
有关更多信息,请参阅 SynthesizeSpeech。
注意
使用 SynthesizeSpeech
API 操作可绕过 StartSythensizeSpeechTask
API 操作的一些限制。有关更多信息,请参阅 创建长音频文件。
SpeechSynthesisTask API 操作
请注意以下与使用 StartSpeechSynthesisTask
、GetSpeechSynthesisTask
和 ListSpeechSynthesisTasks
API 操作相关的限制:
-
输入文本最大为 100,000 个计费字符(总计 200,000 个字符)。SSML 标签不会算作计费字符。
-
您可以指定最多 5 个要应用于输入文本的词典。
语音合成标记语言 (SSML)
请注意以下与使用 SSML 有关的限制:
-
<audio>
、<lexicon>
、<lookup>
和<voice>
标签不受支持。 -
<break>
元素可以指定的最大持续时间为 10 秒。 -
<prosody>
标签不支持低于 -80% 的费率属性值。
有关更多信息,请参阅 从 SSML 文档生成语音。