2023/11/08 - Amazon Lex Model Building V2 - 3 updated api methods
Changes AWS Lex now supports selective log capture in conversation logs. When you enable this option within the conversation log settings, only the utterances that trigger intents and slots specified in session attributes will be logged.
{'conversationLogSettings': {'audioLogSettings': {'selectiveLoggingEnabled': 'boolean'}, 'textLogSettings': {'selectiveLoggingEnabled': 'boolean'}}}
Creates an alias for the specified version of a bot. Use an alias to enable you to change the version of a bot without updating applications that use the bot.
For example, you can create an alias called "PROD" that your applications use to call the Amazon Lex bot.
See also: AWS API Documentation
Request Syntax
client.create_bot_alias( botAliasName='string', description='string', botVersion='string', botAliasLocaleSettings={ 'string': { 'enabled': True|False, 'codeHookSpecification': { 'lambdaCodeHook': { 'lambdaARN': 'string', 'codeHookInterfaceVersion': 'string' } } } }, conversationLogSettings={ 'textLogSettings': [ { 'enabled': True|False, 'destination': { 'cloudWatch': { 'cloudWatchLogGroupArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ], 'audioLogSettings': [ { 'enabled': True|False, 'destination': { 's3Bucket': { 'kmsKeyArn': 'string', 's3BucketArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ] }, sentimentAnalysisSettings={ 'detectSentiment': True|False }, botId='string', tags={ 'string': 'string' } )
string
[REQUIRED]
The alias to create. The name must be unique for the bot.
string
A description of the alias. Use this description to help identify the alias.
string
The version of the bot that this alias points to. You can use the UpdateBotAlias operation to change the bot version associated with the alias.
dict
Maps configuration information to a specific locale. You can use this parameter to specify a specific Lambda function to run different functions in different locales.
(string) --
(dict) --
Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
enabled (boolean) -- [REQUIRED]
Determines whether the locale is enabled for the bot. If the value is false , the locale isn't available for use.
codeHookSpecification (dict) --
Specifies the Lambda function that should be used in the locale.
lambdaCodeHook (dict) -- [REQUIRED]
Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.
lambdaARN (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the Lambda function.
codeHookInterfaceVersion (string) -- [REQUIRED]
The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.
dict
Specifies whether Amazon Lex logs text and audio for a conversation with the bot. When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch Logs. Audio logs store audio input in Amazon S3.
textLogSettings (list) --
The Amazon CloudWatch Logs settings for logging text and metadata.
(dict) --
Defines settings to enable text conversation logs.
enabled (boolean) -- [REQUIRED]
Determines whether conversation logs should be stored for an alias.
destination (dict) -- [REQUIRED]
Defines the Amazon CloudWatch Logs destination log group for conversation text logs.
cloudWatch (dict) -- [REQUIRED]
Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.
cloudWatchLogGroupArn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.
logPrefix (string) -- [REQUIRED]
The prefix of the log stream name within the log group that you specified
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for text.
audioLogSettings (list) --
The Amazon S3 settings for logging audio to an S3 bucket.
(dict) --
Settings for logging audio of conversations between Amazon Lex and a user. You specify whether to log audio and the Amazon S3 bucket where the audio file is stored.
enabled (boolean) -- [REQUIRED]
Determines whether audio logging in enabled for the bot.
destination (dict) -- [REQUIRED]
The location of audio log files collected when conversation logging is enabled for a bot.
s3Bucket (dict) -- [REQUIRED]
The Amazon S3 bucket where the audio log files are stored. The IAM role specified in the roleArn parameter of the CreateBot operation must have permission to write to this bucket.
kmsKeyArn (string) --
The Amazon Resource Name (ARN) of an Amazon Web Services Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket.
s3BucketArn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.
logPrefix (string) -- [REQUIRED]
The S3 prefix to assign to audio log files.
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for audio.
dict
Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
detectSentiment (boolean) -- [REQUIRED]
Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.
string
[REQUIRED]
The unique identifier of the bot that the alias applies to.
dict
A list of tags to add to the bot alias. You can only add tags when you create an alias, you can't use the UpdateBotAlias operation to update the tags on a bot alias. To update tags, use the TagResource operation.
(string) --
(string) --
dict
Response Syntax
{ 'botAliasId': 'string', 'botAliasName': 'string', 'description': 'string', 'botVersion': 'string', 'botAliasLocaleSettings': { 'string': { 'enabled': True|False, 'codeHookSpecification': { 'lambdaCodeHook': { 'lambdaARN': 'string', 'codeHookInterfaceVersion': 'string' } } } }, 'conversationLogSettings': { 'textLogSettings': [ { 'enabled': True|False, 'destination': { 'cloudWatch': { 'cloudWatchLogGroupArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ], 'audioLogSettings': [ { 'enabled': True|False, 'destination': { 's3Bucket': { 'kmsKeyArn': 'string', 's3BucketArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ] }, 'sentimentAnalysisSettings': { 'detectSentiment': True|False }, 'botAliasStatus': 'Creating'|'Available'|'Deleting'|'Failed', 'botId': 'string', 'creationDateTime': datetime(2015, 1, 1), 'tags': { 'string': 'string' } }
Response Structure
(dict) --
botAliasId (string) --
The unique identifier of the bot alias.
botAliasName (string) --
The name specified for the bot alias.
description (string) --
The description specified for the bot alias.
botVersion (string) --
The version of the bot associated with this alias.
botAliasLocaleSettings (dict) --
Configuration information for a specific locale.
(string) --
(dict) --
Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
enabled (boolean) --
Determines whether the locale is enabled for the bot. If the value is false , the locale isn't available for use.
codeHookSpecification (dict) --
Specifies the Lambda function that should be used in the locale.
lambdaCodeHook (dict) --
Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.
lambdaARN (string) --
The Amazon Resource Name (ARN) of the Lambda function.
codeHookInterfaceVersion (string) --
The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.
conversationLogSettings (dict) --
The conversation log settings specified for the alias.
textLogSettings (list) --
The Amazon CloudWatch Logs settings for logging text and metadata.
(dict) --
Defines settings to enable text conversation logs.
enabled (boolean) --
Determines whether conversation logs should be stored for an alias.
destination (dict) --
Defines the Amazon CloudWatch Logs destination log group for conversation text logs.
cloudWatch (dict) --
Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.
cloudWatchLogGroupArn (string) --
The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.
logPrefix (string) --
The prefix of the log stream name within the log group that you specified
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for text.
audioLogSettings (list) --
The Amazon S3 settings for logging audio to an S3 bucket.
(dict) --
Settings for logging audio of conversations between Amazon Lex and a user. You specify whether to log audio and the Amazon S3 bucket where the audio file is stored.
enabled (boolean) --
Determines whether audio logging in enabled for the bot.
destination (dict) --
The location of audio log files collected when conversation logging is enabled for a bot.
s3Bucket (dict) --
The Amazon S3 bucket where the audio log files are stored. The IAM role specified in the roleArn parameter of the CreateBot operation must have permission to write to this bucket.
kmsKeyArn (string) --
The Amazon Resource Name (ARN) of an Amazon Web Services Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket.
s3BucketArn (string) --
The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.
logPrefix (string) --
The S3 prefix to assign to audio log files.
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for audio.
sentimentAnalysisSettings (dict) --
Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
detectSentiment (boolean) --
Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.
botAliasStatus (string) --
The current status of the alias. The alias is first put into the Creating state. When the alias is ready to be used, it is put into the Available state. You can use the DescribeBotAlias operation to get the current state of an alias.
botId (string) --
The unique identifier of the bot that this alias applies to.
creationDateTime (datetime) --
A Unix timestamp indicating the date and time that the bot alias was created.
tags (dict) --
A list of tags associated with the bot alias.
(string) --
(string) --
{'conversationLogSettings': {'audioLogSettings': {'selectiveLoggingEnabled': 'boolean'}, 'textLogSettings': {'selectiveLoggingEnabled': 'boolean'}}}
Get information about a specific bot alias.
See also: AWS API Documentation
Request Syntax
client.describe_bot_alias( botAliasId='string', botId='string' )
string
[REQUIRED]
The identifier of the bot alias to describe.
string
[REQUIRED]
The identifier of the bot associated with the bot alias to describe.
dict
Response Syntax
{ 'botAliasId': 'string', 'botAliasName': 'string', 'description': 'string', 'botVersion': 'string', 'botAliasLocaleSettings': { 'string': { 'enabled': True|False, 'codeHookSpecification': { 'lambdaCodeHook': { 'lambdaARN': 'string', 'codeHookInterfaceVersion': 'string' } } } }, 'conversationLogSettings': { 'textLogSettings': [ { 'enabled': True|False, 'destination': { 'cloudWatch': { 'cloudWatchLogGroupArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ], 'audioLogSettings': [ { 'enabled': True|False, 'destination': { 's3Bucket': { 'kmsKeyArn': 'string', 's3BucketArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ] }, 'sentimentAnalysisSettings': { 'detectSentiment': True|False }, 'botAliasHistoryEvents': [ { 'botVersion': 'string', 'startDate': datetime(2015, 1, 1), 'endDate': datetime(2015, 1, 1) }, ], 'botAliasStatus': 'Creating'|'Available'|'Deleting'|'Failed', 'botId': 'string', 'creationDateTime': datetime(2015, 1, 1), 'lastUpdatedDateTime': datetime(2015, 1, 1), 'parentBotNetworks': [ { 'botId': 'string', 'botVersion': 'string' }, ] }
Response Structure
(dict) --
botAliasId (string) --
The identifier of the bot alias.
botAliasName (string) --
The name of the bot alias.
description (string) --
The description of the bot alias.
botVersion (string) --
The version of the bot associated with the bot alias.
botAliasLocaleSettings (dict) --
The locale settings that are unique to the alias.
(string) --
(dict) --
Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
enabled (boolean) --
Determines whether the locale is enabled for the bot. If the value is false , the locale isn't available for use.
codeHookSpecification (dict) --
Specifies the Lambda function that should be used in the locale.
lambdaCodeHook (dict) --
Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.
lambdaARN (string) --
The Amazon Resource Name (ARN) of the Lambda function.
codeHookInterfaceVersion (string) --
The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.
conversationLogSettings (dict) --
Specifics of how Amazon Lex logs text and audio conversations with the bot associated with the alias.
textLogSettings (list) --
The Amazon CloudWatch Logs settings for logging text and metadata.
(dict) --
Defines settings to enable text conversation logs.
enabled (boolean) --
Determines whether conversation logs should be stored for an alias.
destination (dict) --
Defines the Amazon CloudWatch Logs destination log group for conversation text logs.
cloudWatch (dict) --
Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.
cloudWatchLogGroupArn (string) --
The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.
logPrefix (string) --
The prefix of the log stream name within the log group that you specified
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for text.
audioLogSettings (list) --
The Amazon S3 settings for logging audio to an S3 bucket.
(dict) --
Settings for logging audio of conversations between Amazon Lex and a user. You specify whether to log audio and the Amazon S3 bucket where the audio file is stored.
enabled (boolean) --
Determines whether audio logging in enabled for the bot.
destination (dict) --
The location of audio log files collected when conversation logging is enabled for a bot.
s3Bucket (dict) --
The Amazon S3 bucket where the audio log files are stored. The IAM role specified in the roleArn parameter of the CreateBot operation must have permission to write to this bucket.
kmsKeyArn (string) --
The Amazon Resource Name (ARN) of an Amazon Web Services Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket.
s3BucketArn (string) --
The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.
logPrefix (string) --
The S3 prefix to assign to audio log files.
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for audio.
sentimentAnalysisSettings (dict) --
Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
detectSentiment (boolean) --
Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.
botAliasHistoryEvents (list) --
A list of events that affect a bot alias. For example, an event is recorded when the version that the alias points to changes.
(dict) --
Provides a record of an event that affects a bot alias. For example, when the version of a bot that the alias points to changes.
botVersion (string) --
The version of the bot that was used in the event.
startDate (datetime) --
The date and time that the event started.
endDate (datetime) --
The date and time that the event ended.
botAliasStatus (string) --
The current status of the alias. When the alias is Available , the alias is ready for use with your bot.
botId (string) --
The identifier of the bot associated with the bot alias.
creationDateTime (datetime) --
A timestamp of the date and time that the alias was created.
lastUpdatedDateTime (datetime) --
A timestamp of the date and time that the alias was last updated.
parentBotNetworks (list) --
A list of the networks to which the bot alias you described belongs.
(dict) --
A network of bots.
botId (string) --
The identifier of the network of bots assigned by Amazon Lex.
botVersion (string) --
The version of the network of bots.
{'conversationLogSettings': {'audioLogSettings': {'selectiveLoggingEnabled': 'boolean'}, 'textLogSettings': {'selectiveLoggingEnabled': 'boolean'}}}
Updates the configuration of an existing bot alias.
See also: AWS API Documentation
Request Syntax
client.update_bot_alias( botAliasId='string', botAliasName='string', description='string', botVersion='string', botAliasLocaleSettings={ 'string': { 'enabled': True|False, 'codeHookSpecification': { 'lambdaCodeHook': { 'lambdaARN': 'string', 'codeHookInterfaceVersion': 'string' } } } }, conversationLogSettings={ 'textLogSettings': [ { 'enabled': True|False, 'destination': { 'cloudWatch': { 'cloudWatchLogGroupArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ], 'audioLogSettings': [ { 'enabled': True|False, 'destination': { 's3Bucket': { 'kmsKeyArn': 'string', 's3BucketArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ] }, sentimentAnalysisSettings={ 'detectSentiment': True|False }, botId='string' )
string
[REQUIRED]
The unique identifier of the bot alias.
string
[REQUIRED]
The new name to assign to the bot alias.
string
The new description to assign to the bot alias.
string
The new bot version to assign to the bot alias.
dict
The new Lambda functions to use in each locale for the bot alias.
(string) --
(dict) --
Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
enabled (boolean) -- [REQUIRED]
Determines whether the locale is enabled for the bot. If the value is false , the locale isn't available for use.
codeHookSpecification (dict) --
Specifies the Lambda function that should be used in the locale.
lambdaCodeHook (dict) -- [REQUIRED]
Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.
lambdaARN (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the Lambda function.
codeHookInterfaceVersion (string) -- [REQUIRED]
The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.
dict
The new settings for storing conversation logs in Amazon CloudWatch Logs and Amazon S3 buckets.
textLogSettings (list) --
The Amazon CloudWatch Logs settings for logging text and metadata.
(dict) --
Defines settings to enable text conversation logs.
enabled (boolean) -- [REQUIRED]
Determines whether conversation logs should be stored for an alias.
destination (dict) -- [REQUIRED]
Defines the Amazon CloudWatch Logs destination log group for conversation text logs.
cloudWatch (dict) -- [REQUIRED]
Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.
cloudWatchLogGroupArn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.
logPrefix (string) -- [REQUIRED]
The prefix of the log stream name within the log group that you specified
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for text.
audioLogSettings (list) --
The Amazon S3 settings for logging audio to an S3 bucket.
(dict) --
Settings for logging audio of conversations between Amazon Lex and a user. You specify whether to log audio and the Amazon S3 bucket where the audio file is stored.
enabled (boolean) -- [REQUIRED]
Determines whether audio logging in enabled for the bot.
destination (dict) -- [REQUIRED]
The location of audio log files collected when conversation logging is enabled for a bot.
s3Bucket (dict) -- [REQUIRED]
The Amazon S3 bucket where the audio log files are stored. The IAM role specified in the roleArn parameter of the CreateBot operation must have permission to write to this bucket.
kmsKeyArn (string) --
The Amazon Resource Name (ARN) of an Amazon Web Services Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket.
s3BucketArn (string) -- [REQUIRED]
The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.
logPrefix (string) -- [REQUIRED]
The S3 prefix to assign to audio log files.
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for audio.
dict
Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
detectSentiment (boolean) -- [REQUIRED]
Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.
string
[REQUIRED]
The identifier of the bot with the updated alias.
dict
Response Syntax
{ 'botAliasId': 'string', 'botAliasName': 'string', 'description': 'string', 'botVersion': 'string', 'botAliasLocaleSettings': { 'string': { 'enabled': True|False, 'codeHookSpecification': { 'lambdaCodeHook': { 'lambdaARN': 'string', 'codeHookInterfaceVersion': 'string' } } } }, 'conversationLogSettings': { 'textLogSettings': [ { 'enabled': True|False, 'destination': { 'cloudWatch': { 'cloudWatchLogGroupArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ], 'audioLogSettings': [ { 'enabled': True|False, 'destination': { 's3Bucket': { 'kmsKeyArn': 'string', 's3BucketArn': 'string', 'logPrefix': 'string' } }, 'selectiveLoggingEnabled': True|False }, ] }, 'sentimentAnalysisSettings': { 'detectSentiment': True|False }, 'botAliasStatus': 'Creating'|'Available'|'Deleting'|'Failed', 'botId': 'string', 'creationDateTime': datetime(2015, 1, 1), 'lastUpdatedDateTime': datetime(2015, 1, 1) }
Response Structure
(dict) --
botAliasId (string) --
The identifier of the updated bot alias.
botAliasName (string) --
The updated name of the bot alias.
description (string) --
The updated description of the bot alias.
botVersion (string) --
The updated version of the bot that the alias points to.
botAliasLocaleSettings (dict) --
The updated Lambda functions to use in each locale for the bot alias.
(string) --
(dict) --
Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
enabled (boolean) --
Determines whether the locale is enabled for the bot. If the value is false , the locale isn't available for use.
codeHookSpecification (dict) --
Specifies the Lambda function that should be used in the locale.
lambdaCodeHook (dict) --
Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.
lambdaARN (string) --
The Amazon Resource Name (ARN) of the Lambda function.
codeHookInterfaceVersion (string) --
The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.
conversationLogSettings (dict) --
The updated settings for storing conversation logs in Amazon CloudWatch Logs and Amazon S3 buckets.
textLogSettings (list) --
The Amazon CloudWatch Logs settings for logging text and metadata.
(dict) --
Defines settings to enable text conversation logs.
enabled (boolean) --
Determines whether conversation logs should be stored for an alias.
destination (dict) --
Defines the Amazon CloudWatch Logs destination log group for conversation text logs.
cloudWatch (dict) --
Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.
cloudWatchLogGroupArn (string) --
The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.
logPrefix (string) --
The prefix of the log stream name within the log group that you specified
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for text.
audioLogSettings (list) --
The Amazon S3 settings for logging audio to an S3 bucket.
(dict) --
Settings for logging audio of conversations between Amazon Lex and a user. You specify whether to log audio and the Amazon S3 bucket where the audio file is stored.
enabled (boolean) --
Determines whether audio logging in enabled for the bot.
destination (dict) --
The location of audio log files collected when conversation logging is enabled for a bot.
s3Bucket (dict) --
The Amazon S3 bucket where the audio log files are stored. The IAM role specified in the roleArn parameter of the CreateBot operation must have permission to write to this bucket.
kmsKeyArn (string) --
The Amazon Resource Name (ARN) of an Amazon Web Services Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket.
s3BucketArn (string) --
The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.
logPrefix (string) --
The S3 prefix to assign to audio log files.
selectiveLoggingEnabled (boolean) --
The option to enable selective conversation log capture for audio.
sentimentAnalysisSettings (dict) --
Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
detectSentiment (boolean) --
Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.
botAliasStatus (string) --
The current status of the bot alias. When the status is Available the alias is ready for use.
botId (string) --
The identifier of the bot with the updated alias.
creationDateTime (datetime) --
A timestamp of the date and time that the bot was created.
lastUpdatedDateTime (datetime) --
A timestamp of the date and time that the bot was last updated.