Deployment Automation in Bot Framework (Bot + LUIS + QnA + Table Storage)

We have a bot deployed on Azure, but we want to give it to the client so that he can run it using his own resources. We need to give them a Powershell script that magically builds and deploys all the resources the bot needs to run. My bot architecture consists of the following parts:

  • Bot Logic (ASP.NET Web API project deployed to Azure App Service )
  • LUIS model (published above the cognitive services account )
  • QnA Service Knowledgebase built with QnA Maker ( Published directly from QnaMaker Portal (have no idea where it is deployed )
  • Lacquer table storage

My questions:

1) How to configure bots web api parameters for connection string parameters? (table storage, luis and qna maintenance will be different when redeployed). I am currently defining conn. the api lines and keys on web.config, but as I said this should be dynamic.

2) How do I automate deployment for LUIS? Luis must have a Key of Cognitive Services key that must be generated first. And I am assuming I have exported json model file. I was thinking about using the LUIS API to export apps and publish. Would it be enough?

3) How to deploy qna services? I think it is currently being deployed somewhere magically, so I may not need to do anything with it.

Thank!

+3


source to share


1 answer


Some of them can be automated using ARM templates, you can use functions such as listKeys()

to request connection keys of one resource and use it as parameters for another resource. If you are using Azure App Services, you can override the settings in the web.config with the so called Application Settings and these can be set inside the ARM template

Check out this ARM template that deploys a bot and dynamically links it to a newly deployed cognitive service



Register bot and app-id I don't think you can currently automate, no API or CLI

0


source







All Articles