Skip to content

Latest commit

 

History

History
 
 

This sample demonstrates a custom storage solution that supports a deployment scaled out across multiple machines.

The custom storage solution is implemented against memory for testing purposes and against Azure Blob Storage.

The sample shows how storage solutions with different policies can be implemented and integrated with the framework.

The solution makes use of the standard HTTP ETag/If-Match mechanisms commonly found on cloud storage technologies.

Refer to the Bot Builder V4 documentation for a design walk-through.

To try this sample

  • Clone the samples repository
git clone https://github.com/Microsoft/botbuilder-samples.git
  • [Optional] Update the appsettings.json file under botbuilder-samples/samples/csharp_dotnetcore/42.scaleout with your botFileSecret. For Azure Bot Service bots, you can find the botFileSecret under application settings.

Running Locally

Visual Studio

  • Navigate to the samples folder (botbuilder-samples/samples/csharp_dotnetcore/42.scaleout) and open ScaleoutBot.csproj in Visual Studio.
  • Run the project (press F5 key).

.NET Core CLI

  • Install the .NET Core CLI tools.
  • Using the command line, navigate to botbuilder-samples/samples/csharp_dotnetcore/42.scaleout folder.
  • Type dotnet run.

Testing the bot using Bot Framework Emulator

Microsoft Bot Framework Emulator is a desktop application that allows bot developers to test and debug their bots on localhost or running remotely through a tunnel.

  • Install the Bot Framework emulator from here.

Connect to bot using Bot Framework Emulator V4

  • Launch the Bot Framework Emulator.
  • File -> Open bot and navigate to botbuilder-samples/samples/csharp_dotnetcore/42.scaleout folder.
  • Select scaleout.bot file.

Deploy this bot to Azure

You can use the MSBot Bot Builder CLI tool to clone and configure any services this sample depends on. In order to install this and other tools, you can read Installing CLI Tools.

To clone this bot, run

msbot clone services -f deploymentScripts/msbotClone -n <BOT-NAME> -l <Azure-location> --subscriptionId <Azure-subscription-id>

Further reading