AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
Creates an Amazon Lex conversational bot or replaces an existing bot. When you create
or update a bot you are only required to specify a name, a locale, and whether the
bot is directed toward children under age 13. You can use this to add intents later,
or to remove intents from an existing bot. When you create a bot with the minimum
information, the bot is created or updated but Amazon Lex returns the response
FAILED
. You can build the bot after you add one or more intents. For more information
about Amazon Lex bots, see how-it-works.
If you specify the name of an existing bot, the fields in the request replace the
existing values in the $LATEST
version of the bot. Amazon Lex removes any fields
that you don't provide values for in the request, except for the idleTTLInSeconds
and privacySettings
fields, which are set to their default values. If you don't
specify values for required fields, Amazon Lex throws an exception.
This operation requires permissions for the lex:PutBot
action. For more information,
see security-iam.
For .NET Core this operation is only available in asynchronous form. Please refer to PutBotAsync.
Namespace: Amazon.LexModelBuildingService
Assembly: AWSSDK.LexModelBuildingService.dll
Version: 3.x.y.z
public abstract PutBotResponse PutBot( PutBotRequest request )
Container for the necessary parameters to execute the PutBot service method.
Exception | Condition |
---|---|
BadRequestException | The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and try again. |
ConflictException | There was a conflict processing the request. Try your request again. |
InternalFailureException | An internal Amazon Lex error occurred. Try your request again. |
LimitExceededException | The request exceeded a limit. Try your request again. |
PreconditionFailedException | The checksum of the resource that you are trying to change does not match the checksum in the request. Check the resource's checksum and try again. |
This example shows how to create a bot for ordering pizzas.
var client = new AmazonLexModelBuildingServiceClient(); var response = client.PutBot(new PutBotRequest { Name = "DocOrderPizzaBot", AbortStatement = new Statement { Messages = new List<Message> { new Message { Content = "I don't understand. Can you try again?", ContentType = "PlainText" }, new Message { Content = "I'm sorry, I don't understand.", ContentType = "PlainText" } } }, ChildDirected = true, ClarificationPrompt = new Prompt { MaxAttempts = 1, Messages = new List<Message> { new Message { Content = "I'm sorry, I didn't hear that. Can you repeat what you just said?", ContentType = "PlainText" }, new Message { Content = "Can you say that again?", ContentType = "PlainText" } } }, Description = "Orders a pizza from a local pizzeria.", IdleSessionTTLInSeconds = 300, Intents = new List<Intent> { new Intent { IntentName = "DocOrderPizza", IntentVersion = "$LATEST" } }, Locale = "en-US", ProcessBehavior = "SAVE" }); string version = response.Version; string name = response.Name; Statement abortStatement = response.AbortStatement; string checksum = response.Checksum; bool childDirected = response.ChildDirected; Prompt clarificationPrompt = response.ClarificationPrompt; DateTime createdDate = response.CreatedDate; string description = response.Description; int idleSessionTTLInSeconds = response.IdleSessionTTLInSeconds; List<Intent> intents = response.Intents; DateTime lastUpdatedDate = response.LastUpdatedDate; string locale = response.Locale; string status = response.Status;
.NET Framework:
Supported in: 4.5, 4.0, 3.5