CloudWiki
Resource

Bot

Microsoft Azure
AI & Machine Learning
Azure Bot is a cloud-based platform that enables users to develop, deploy, and manage intelligent bots for various channels. It provides a fully managed platform with various features such as natural language processing, speech recognition, and machine learning capabilities, and offers various deployment options and integration with other Azure services. Azure Bot Service simplifies the bot development process and allows users to create intelligent bots quickly and easily.
Terraform Name
terraform
azurerm_bot_service_azure_bot
Bot
attributes:

The following arguments are supported:

  • name - (Required) The name which should be used for this Azure Bot Service. Changing this forces a new resource to be created.
  • resource_group_name - (Required) The name of the Resource Group where the Azure Bot Service should exist. Changing this forces a new resource to be created.
  • location - (Required) The supported Azure location where the Azure Bot Service should exist. Changing this forces a new resource to be created.
  • microsoft_app_id - (Required) The Microsoft Application ID for the Azure Bot Service. Changing this forces a new resource to be created.
  • sku - (Required) The SKU of the Azure Bot Service. Accepted values are F0 or S1. Changing this forces a new resource to be created.
  • developer_app_insights_api_key - (Optional) The Application Insights API Key to associate with this Azure Bot Service.
  • developer_app_insights_application_id - (Optional) The resource ID of the Application Insights instance to associate with this Azure Bot Service.
  • developer_app_insights_key - (Optional) The Application Insight Key to associate with this Azure Bot Service.
  • display_name - (Optional) The name that the Azure Bot Service will be displayed as. This defaults to the value set for name if not specified.
  • endpoint - (Optional) The Azure Bot Service endpoint.
  • microsoft_app_msi_id - (Optional) The ID of the Microsoft App Managed Identity for this Azure Bot Service. Changing this forces a new resource to be created.
  • microsoft_app_tenant_id - (Optional) The Tenant ID of the Microsoft App for this Azure Bot Service. Changing this forces a new resource to be created.
  • microsoft_app_type - (Optional) The Microsoft App Type for this Azure Bot Service. Possible values are MultiTenant, SingleTenant and UserAssignedMSI. Changing this forces a new resource to be created.
  • luis_app_ids - (Optional) A list of LUIS App IDs to associate with this Azure Bot Service.
  • luis_key - (Optional) The LUIS key to associate with this Azure Bot Service.
  • streaming_endpoint_enabled - (Optional) Is the streaming endpoint enabled for this Azure Bot Service. Defaults to false.
  • tags - (Optional) A mapping of tags which should be assigned to this Azure Bot Service.

Associating resources with a
Bot
Resources do not "belong" to a
Bot
Rather, one or more Security Groups are associated to a resource.
Create
Bot
via Terraform:
The following HCL manages an Azure Bot Service
Syntax:

resource "azurerm_resource_group" "example" {
 name     = "example-resources"
 location = "West Europe"
}

resource "azurerm_application_insights" "example" {
 name                = "example-appinsights"
 location            = azurerm_resource_group.example.location
 resource_group_name = azurerm_resource_group.example.name
 application_type    = "web"
}

resource "azurerm_application_insights_api_key" "example" {
 name                    = "example-appinsightsapikey"
 application_insights_id = azurerm_application_insights.example.id
 read_permissions        = ["aggregate", "api", "draft", "extendqueries", "search"]
}

data "azurerm_client_config" "current" {}

resource "azurerm_bot_service_azure_bot" "example" {
 name                = "exampleazurebot"
 resource_group_name = azurerm_resource_group.example.name
 location            = "global"
 microsoft_app_id    = data.azurerm_client_config.current.client_id
 sku                 = "F0"

 endpoint                              = "https://example.com"
 developer_app_insights_api_key        = azurerm_application_insights_api_key.example.api_key
 developer_app_insights_application_id = azurerm_application_insights.example.app_id

 tags = {
   environment = "test"
 }
}

Create
Bot
via CLI:
Parameters:

az bot create --app-type
             --appid
             --name
             --resource-group
             [--cmk]
             [--description]
             [--display-name]
             [--endpoint]
             [--location]
             [--msi-resource-id]
             [--sku {F0, S1}]
             [--tags]
             [--tenant-id]

Example:

az bot create --name MyBot --resource-group MyBotResourceGroup --kind registration --location eastus --sku F0 --version v4 --language Csharp

aws cost
Costs
Direct Cost
Indirect Cost
No items found.
Best Practices for
Bot

Categorized by Availability, Security & Compliance and Cost

Low
Access allowed from VPN
No items found.
Low
Auto Scaling Group not in use
No items found.
Medium
Connections towards DynamoDB should be via VPC endpoints
No items found.
Medium
Container in CrashLoopBackOff state
No items found.
Low
EC2 with GPU capabilities
No items found.
Medium
EC2 with high privileged policies
No items found.
Medium
ECS cluster delete alarm
No items found.
Critical
ECS task with Admin access (*:*)
Medium
ECS task with high privileged policies
No items found.
Critical
EKS cluster delete alarm
No items found.
Medium
ElastiCache cluster delete alarm
No items found.
Medium
Ensure Container liveness probe is configured
No items found.
Medium
Ensure ECS task definition has memory limit
No items found.
Critical
Ensure EMR cluster master nodes are not publicly accessible
No items found.
More from
Microsoft Azure