create_bot_alias

create_bot_alias(**kwargs)

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

response = 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'
                    }
                }
            },
        ],
        'audioLogSettings': [
            {
                'enabled': True|False,
                'destination': {
                    's3Bucket': {
                        'kmsKeyArn': 'string',
                        's3BucketArn': 'string',
                        'logPrefix': 'string'
                    }
                }
            },
        ]
    },
    sentimentAnalysisSettings={
        'detectSentiment': True|False
    },
    botId='string',
    tags={
        'string': 'string'
    }
)
Parameters
  • botAliasName (string) --

    [REQUIRED]

    The alias to create. The name must be unique for the bot.

  • description (string) -- A description of the alias. Use this description to help identify the alias.
  • botVersion (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.
  • botAliasLocaleSettings (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.

  • conversationLogSettings (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

    • 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 AWS 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.

  • sentimentAnalysisSettings (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.

  • botId (string) --

    [REQUIRED]

    The unique identifier of the bot that the alias applies to.

  • tags (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) --
Return type

dict

Returns

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'
                    }
                }
            },
        ],
        'audioLogSettings': [
            {
                'enabled': True|False,
                'destination': {
                    's3Bucket': {
                        'kmsKeyArn': 'string',
                        's3BucketArn': 'string',
                        'logPrefix': 'string'
                    }
                }
            },
        ]
    },
    '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

      • 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 AWS 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.

    • 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) --

Exceptions

  • LexModelsV2.Client.exceptions.ThrottlingException
  • LexModelsV2.Client.exceptions.ServiceQuotaExceededException
  • LexModelsV2.Client.exceptions.ValidationException
  • LexModelsV2.Client.exceptions.PreconditionFailedException
  • LexModelsV2.Client.exceptions.ConflictException
  • LexModelsV2.Client.exceptions.InternalServerException