Adding images to Azure QnAMaker KB - qnamaker

Reading several posts on adding images to QnAMaker KBs, these URLs all have to be externally accessible, like on Google images. How can I add an image available on my company intranet?

I know this isn't a direct answer to your question, but the easiest way to do this may be to copy and host the images on an Azure App Service. It creates more overhead, especially if these images get updated with any frequency.
I'm assuming you already have an App Service Plan running your QnA Maker Bot. You can create a new App Service on the same plan so that you don't incur any incremental cost. Just upload the images onto the app service and you'll be able to access them from QnA Maker or any other application. There are a lot of ways to get the images there. Personally I use Azure DevOps Repos to manage the code/images, but any source control app could work; I'd recommend using something Azure Deployment Center can integrate with directly. You can use the Kudu build service to deploy the web app, no Azure Release Pipeline or other deployment methods necessary.
I'm wondering though, if your users are internal to the company, couldn't you link to the images on your intranet anyway? If they are behind your firewall the images should still load even if Azure itself doesn't have access to it (because all you're providing in QnA Maker is the URL). I'm assuming you're asking because the bot is for users external to your company, but I figured I'd throw that out there.

Related

How to hide sensitive data from open source projects which use continuous deployment?

I have a Discord bot project on GitHub which deploys automatically to Azure Web Apps. Since my project uses an API, it needs a token in a 'config.json' file. I want to share my source code, but I couldn't figure out how to make this happen without revealing sensitive data like my token.
Is there a way to not hard code it? This may be possible with a Virtual Machine but I couldn't make it work with the App Service plan.

PowerApps to call Azure API App

I am new to PowerApps development. I am trying to connect PowerApps to my custom APIs (Azure app api) and getting results of "resource not found". I can call the api from browsers, postman no problem. The .json file I use for PowerApps is the same as the one I use for editor.swagger.io (for testing). I checked the log file of the application on azure, all of the requests from browsers logged but not the ones from PowerApps. My question is, how PowerApps calls APIs and what is the right format of the .json file used for PowerApps app?
Thank you.
I would recommend trying again, we had a small issue on our backend that was causing some 404's at times. A fix for it has been deployed so you might see it work.
PowerApps uses Swagger to determine the shape of the REST api to be able to project those APIs into "formulas" that can be used easily in the client.
Also, for development/troubleshooting purposes I highly recommend using Fiddler to see exactly the REST call that PowerApps is doing and making sure the URL and parameters are correct. If not then look into your swagger definition and make sure there are no issues with the paths provided there.
You might also check that your Azure App API has either:
The PowerApps IP Addresses Whitelisted OR
If available, the "Allow Access to Azure Services" option toggled
When building Azure SQL backends for PowerApps, one of these paths must be followed.

Windows azure management portal not showing data and api option on creating mobile services.

all the tutorial videos of azure shows the data tab in mobile services but in real it is not present there.
https://drive.google.com/file/d/0BxhoXvChLA34dDB1Mm1KVFIwRUU/edit?usp=sharing
When using the .NET backend, creating tables and custom APIs are done code first and you can't control them via the portal.
For tables start here: http://www.windowsazure.com/en-us/documentation/articles/mobile-services-dotnet-backend-windows-store-dotnet-get-started-data/
I don't see any tutorials up yet on the custom API path yet but I may have missed them.

Uploading data from website to Azure Storage and Azure SQL

I am to implement a service such the user can upload files to azure storage, and also store the meta data in a azure sql database.
Lets say the user want to upload 1gb of data, is it then needed to be send to the webservice first and then from service to azure storage? Is there a way to initiate the upload and then the user sends the data directly to the server with azure storage?
I think i read something like that but cant find it now and not sure what to search for on google.
Yes this is possible but you'll need to use a client side technology which can talk to the REST API, like Silverlight for example. Steve Marx did a series of blog posts explaining how you can leverage Silverlight and the REST API to upload files to blob storage (even very large files): Uploading Windows Azure Blobs from Silverlight – Part 3: Handling Big Files by Using the Block APIs. And a Silverlight control is very easy to integrate in an existing website.

What is a robust browser-based method for uploading (very) large files?

I'm looking at replacing our current file-upload solution, a bespoke java application which transmits files and metadata using sftp, with a browser-based solution. My intention is to have finer-grained control over who can and cannot upload by tying the upload to an authenticated session in a web app. This will also enable me to collect reliable data about who uploaded what when, etc, in a straight-forward manner.
My concern is that we need to be able to support uploading huge files- think 100GB or more. As such, I don't think standard HTTP is appropriate- I don't trust it to be reliable, and I want to be able to provide user feedback such as progress bars.
The best idea I've come up with so far is an embedded applet which uses sftp to push the file, but I'd like to do this using only js or similar if at all possible.
There is project that want to enable resumable uploads: https://tus.io/.
Its client library provides progress bar and resume-on-interruption in the browser.
You can integrate the server part into your app, to manage authentication yourself, while benefiting from the resumability!
Here is a blog post https://tus.io/blog/2018/09/25/adoption.html in which they mention it being used by Cloudflare.