Cloudformation模板 - Amazon Lex语音设置引擎

0

【以下的问题经过翻译处理】 你好,

有没有一种方法可以使用Cloudformation模板创建Lex机器人并设置Polly语音设置为“neural”或“standard”?

这是缺少Engine关键字的Cloudformation文档:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-voicesettings.html

从我所看到的来看,这似乎是Cloudformation方面的遗漏。在Lex控制台中,我们可以将任何语音设置为标准或神经网络。当我们下载机器人时,可以看到引擎的关键字:“voiceSettings”:{“engine”:“neural”,“voiceId”:“Ivy”}。”,但是Cloudformation缺少这个引擎设置。不幸的是,它似乎总是默认为标准语音。我尝试在我的CFN模板中添加Engine关键字,只是想看看它是否能工作但未记录,但它不起作用。

让我知道是否有遗漏的地方。

谢谢,

profile picture
专家
已提问 8 个月前31 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好, 知道你在 3 个月前问过这个问题并且可能已经不再关注该问题,但以防其他人有同样的问题,这里再回答一下:

您是正确的,CFT 对 Lex 的支持当前不会对作为 AWS::Lex::Bot 资源中的“VoiceSettings”属性的一部分传递的“Engine”属性执行任何操作。在后台,AWS::Lex::Bot 资源将导致 API 调用以创建_bot_locale:

response = client.create_bot_locale(
    botId='string',
    botVersion='string',
    localeId='string',
    description='string',
    nluIntentConfidenceThreshold=123.0,
    voiceSettings={
        'voiceId': 'string',
        'engine': 'standard'|'neural'
    }
)

由于“engine”属性不受支持,因此 API 调用中的值默认为“standard”。

我提交了新功能请求,但与此同时,您可以创建 lambda 自定义资源或 CloudFormation 资源类型来解决这个问题。您的自定义资源类型将采用当前在 AWS::Lex::Bot 中传递的相同参数,并调用 [create_bot_locale](https://boto3.amazonaws.com/v1/documentation/api/latest /reference/services/lexv2-models.html?highlight=neural#LexModelsV2.Client.create_bot_locale) API 包括您将在模板中设置为“neural”的 voiceSettings.engine 属性值。创建 Lambda 自定义资源非常简单,但您还需要支持更新和删除案例。请参阅 Lambda 支持的自定义资源的文档,或较新的首选机制,[CloudFormation Registry Resource Types] (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-types.html)。

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则