<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Sri Lanka Tech Geeks</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/sltechgeeks/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/feed.xml</link>
    <description>All about Microsoft Cloud and Data Platform</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:47:26 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Analyze Twitter #tags using Sentiment Analysis and Visualize in Power BI</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/analyze-twitter-tags-using-sentiment-analysis-and-visualize-in-power-bi</link>
      <pubDate>Wed, 27 Jun 2018 11:13:06 GMT</pubDate>
      <dc:creator><![CDATA[Sasindu Kavinda]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=1085</guid>
      <description><![CDATA[So in this post I'm going to discuss you on using Microsoft Flows and  Sentiment Analysis API to...]]></description>
      <content:encoded><![CDATA[So in this post I'm going to discuss you on using Microsoft Flows and  Sentiment Analysis API to analyze twitter posts and visualize them in Microsoft Power BI.

I have mentioned you about Microsoft Flows in my previous posts.

<span>Text analytics (or sentiment analysis) is the automated processing of texts to determine topics, key phrases and the opinion of the writer (positive, negative, neutral). </span>

Text analytics (or sentiment analysis) is the automated processing of texts to determine topics, key phrases and the opinion of the writer (positive, negative, neutral).

<a href="https://www.microsoft.com/cognitive-services">Microsoft Cognitive Services</a><span> </span>are a new set of cloud APIs that can be used from practically any technical platform (Android apps, iOS apps, Windows apps, websites, etc) to leverage capabilities such as<span> </span><strong>natural language processing</strong>,<span> </span><strong>speech, vision</strong>,<span> </span><strong>knowledge exploration</strong>, etc. These capabilities, like the whole field of artificial intelligence, are easy for humans but difficult for computers. Now you can leverage the results of Microsoft Research and powerful cloud computing to power your own applications with these capabilities.

The<span> </span><a href="https://www.microsoft.com/cognitive-services/en-us/text-analytics-api">Text Analytics API</a>, offered by Microsoft as part of<span> </span><a href="https://www.microsoft.com/cognitive-services">Cognitive Services</a>, has the following functionality:
<ul>
 	<li>Determine the language of a text.</li>
 	<li>Determine the sentiment of a text. The output is a score between 0 (very negative), 0.5 (neutral) and 1 (very positive).</li>
 	<li>Detect key phrases in a text.</li>
 	<li>Detect the top topics for a collection of texts.</li>
</ul>
The Text Analytics API itself is built with Azure Machine Learning. No training data is necessary, since it is already trained by Microsoft.

You can easily test it on the<span> </span><a href="https://www.microsoft.com/cognitive-services/en-us/text-analytics-api">Text Analytics API webpage.</a>

So for this demo, I'm going to use Sentiment Analysis from the above capabilities of Text Analytics API.

As the step 01, you have to create a power bi dashboard and streaming dataset.

<span>This isn’t going to be a full tutorial on how to use PowerBI, but hopefully I can take you through just enough steps that you can visualize this data.</span>

<span>In order to do that we are going to login to the Power BI service, and In work space, top right, click the + Create and select Streaming data in the menu. </span>

&nbsp;

<iframe width="560" height="315" src="https://www.youtube.com/embed/SI7KfL6QC6g" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

&nbsp;

As per the above video, you can create a streaming data set. So what you can do is, just push data to that API as post request with that json data.

<iframe width="560" height="315" src="https://www.youtube.com/embed/AUN3l0KIbOM" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

As per the above video, you can visualize the data. You will see the actual data once you push your data to Power BI.

<iframe width="560" height="315" src="https://www.youtube.com/embed/arynEYmqbHE" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

&nbsp;

Now let's create Text Analytics API Service in Azure

<iframe width="560" height="315" src="https://www.youtube.com/embed/25IYKTuNoCA" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
Grab and store that API key with you.

As the step 02, you have to create a new flow. <span>If you haven’t already, go to flow.microsoft.com and have a look around. You can find thousands of templates there. The flow creating will shown in the following video.</span>

<iframe width="560" height="315" src="https://www.youtube.com/embed/xzcX5vWE00w" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
So after any tweet triggered based on that keyword we have mentioned, the Power BI will show it to you.

This is just simple clicks!! No need coding ❤️]]></content:encoded>
    </item>
    <item>
      <title>Create and Host your Node.js API in Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/create-and-host-your-node-js-api-in-azure</link>
      <pubDate>Mon, 28 May 2018 02:31:46 GMT</pubDate>
      <dc:creator><![CDATA[Sasindu Kavinda]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=1065</guid>
      <description><![CDATA[Node.js is an Open source, Cross-platform, and runtime environment for executing JavaScript code...]]></description>
      <content:encoded><![CDATA[Node.js is an Open source, Cross-platform, and runtime environment for executing JavaScript code outside the browser. We can build Web apps and APIS using Node.js.
This is
Super-fast and highly scalable e.g. PayPal, Uber, Netflix
Builds twice as fast with fewer people
33% fewer lines of code
40 % fewer files
2x request/sec
35% faster response.

So first let's create an API using Node.js.
Before we proceed, we must ensure we have the following installed in your computer : <a href="https://nodejs.org/en/download/">Node.js</a>

<span>To check if you have Node.js installed, run this command in your terminal:<em> </em></span><em>node-v</em>
<span>To confirm that you have npm installed you can run this command in your terminal: </span><em>npm-v</em>

After the confirmation, let's create a new folder and go into it by following commands,

<em>            mkddir nodejsAPI</em>

<em>            cd nodejsAPI</em>

&nbsp;

<span>Initiate a new NPM project with this command </span><em><code>npm init</code></em><span> and provide all the details requested for.</span>

So let's add <em>ExpressJS</em> framework to create our API.

To use <em>ExpressJS</em> in our application, we need to execute following two commands.

<em>            npm <span class="hljs-keyword">install</span> express <span class="hljs-comment">--save</span></em><span> </span>

<em>            npm <span class="hljs-keyword">install</span> <span class="hljs-keyword">body</span>-parser <span class="hljs-comment">--save</span></em>

&nbsp;

Then we have to create a new file named: <em>app.js</em>

And let's add the content as following,

//-------------------
<div>
<div><span>var</span><span> </span><span>express</span><span> </span><span>=</span><span> </span><span>require</span><span>(</span><span>"express"</span><span>);</span></div>
<div><span>var</span><span> </span><span>bodyParser</span><span> </span><span>=</span><span> </span><span>require</span><span>(</span><span>"body-parser"</span><span>);</span></div>
<div><span>var</span><span> </span><span>routes</span><span> </span><span>=</span><span> </span><span>require</span><span>(</span><span>"./routes/routes.js"</span><span>);</span></div>
<div><span>var</span><span> </span><span>app</span><span> </span><span>=</span><span> </span><span>express</span><span>();</span></div>
<div><span>var</span><span> </span><span>port</span><span>=</span><span>process</span><span>.</span><span>env</span><span>.</span><span>PORT</span><span> </span><span>||</span><span> </span><span>3000</span><span>;</span></div>
<div><span>app</span><span>.</span><span>use</span><span>(</span><span>bodyParser</span><span>.</span><span>json</span><span>());</span></div>
<div><span>app</span><span>.</span><span>use</span><span>(</span><span>bodyParser</span><span>.</span><span>urlencoded</span><span>({ </span><span>extended:</span><span> </span><span>true</span><span> }));</span></div>
<div><span>routes</span><span>(</span><span>app</span><span>);</span></div>
<div><span>app</span><span>.</span><span>listen</span><span>(</span><span>port</span><span>);</span></div>
<div><span>console</span><span>.</span><span>log</span><span>(</span><span>'Server Listening at port'</span><span>+</span><span>port</span><span>);</span></div>
<div></div>
//--------------------------

</div>
<img src="https://ntnwpw.bl.files.1drv.com/y4mqu0tNk-LW6oARrv74OGr_03B2DReW-HAj_lVzA_Q7onKJnJITi3d9OOJ_bVzDI36dk2VMWHrS8BjtQEalC1xcOb54FZzRzydqEiDZ9RSsXZJUJ7QVnjwYP_GfjXQl3zFh6u8Gpy_cJJgiMAkH2OZ8WNsY7Z05Emgvfphp3BcM4bwgIdVQkyrwk8UOuY2z0gnXHJWfV2NvLtxHtfq4x5lFA?width=898&amp;height=560&amp;cropmode=none" width="397" height="248" class="" />

As per the code this will get <em>expressjs</em> framework and body parser to get the http request body. And this will run on localhost with port 3000.

Now let's create <span><em>routes.js</em> which is our code going to write. So for that create new folder and name it as <em>"routes"</em>, then create the <em>routes.js</em> inside the <em>routes</em> folder.</span>

Then add the content of the <em>routes.js</em> file as follows.

//-------------------------
<div>
<div><span>var</span><span> </span><span>appRouter</span><span> </span><span>=</span><span> </span><span>function</span><span> (</span><span>app</span><span>) {</span></div>
<div><span>      </span><span>app</span><span>.</span><span>get</span><span>(</span><span>"/"</span><span>, </span><span>function</span><span> (</span><span>req</span><span>, </span><span>res</span><span>) {</span></div>
<div><span>           </span><span>res</span><span>.</span><span>status</span><span>(</span><span>200</span><span>).</span><span>send</span><span>({ </span><span>message:</span><span> </span><span>'Welcome to our restful API'</span><span> });</span></div>
<div><span>      });</span></div>
<div></div>
<div><span>      </span><span>app</span><span>.</span><span>get</span><span>(</span><span>"/getItems/:num"</span><span>, </span><span>function</span><span> (</span><span>req</span><span>, </span><span>res</span><span>) {</span></div>
<div><span>           </span><span>var</span><span> </span><span>num</span><span> </span><span>=</span><span>req</span><span>.</span><span>params</span><span>.</span><span>num</span><span>;</span></div>
<div><span> </span><span>          var</span><span> </span><span>data</span><span> </span><span>=</span><span> {</span></div>
<div><span>                </span><span>'item1'</span><span>:</span><span> </span><span>'http://public-domain-photos.com/free-stock-photos-1/flowers/cactus-76.jpg'</span><span>,</span></div>
<div><span>                </span><span>'item2'</span><span>:</span><span> </span><span>'http://public-domain-photos.com/free-stock-photos-1/flowers/cactus-77.jpg'</span><span>,</span></div>
<div><span> </span><span>               'item3'</span><span>:</span><span> </span><span>'http://public-domain-photos.com/free-stock-photos-1/flowers/cactus-78.jpg'</span></div>
<div><span>           }     </span></div>
<div><span> </span><span>          res</span><span>.</span><span>status</span><span>(</span><span>200</span><span>).</span><span>send</span><span>(</span><span>data</span><span>);</span></div>
<div><span>      });</span></div>
<div>
<div>
<div>
<div><span>     app</span><span>.</span><span>get</span><span>(</span><span>"/getText/:txt"</span><span>, </span><span>function</span><span> (</span><span>req</span><span>, </span><span>res</span><span>) {</span></div>
<div><span>           </span><span>var</span><span> </span><span>text</span><span> </span><span>=</span><span>req</span><span>.</span><span>params</span><span>.</span><span>txt</span><span>;</span></div>
<div><span> </span><span>          var</span><span> </span><span>data</span><span> </span><span>=</span><span> {</span></div>
<div><span> </span><span>               'text'</span><span>:</span><span> </span><span>text</span></div>
<div><span>           }</span></div>
<div><span></span><span>          res</span><span>.</span><span>status</span><span>(</span><span>200</span><span>).</span><span>send</span><span>(</span><span>data</span><span>);</span></div>
<div><span>      });</span></div>
</div>
</div>
</div>
<div><span>}</span></div>
<div><span>module</span><span>.</span><span>exports</span><span> </span><span>=</span><span> </span><span>appRouter</span><span>;</span></div>
</div>
//-------------------------

<img src="https://pdnwpw.bl.files.1drv.com/y4mrGS0O_6Px1BfxfTUznmn0htlUx2_39TozMAVO0W792A3_QgpXuoQR-qMj3EKEqkmchZfCsdI0Uy-T34H9TTL58KXH9RUjnhtBoNsNB4jmCN5WYwQK749bL07ZTyghSUrV4rpCeijKvplGqeJx2KnJ5gt4WyWhi-txJliDduQR1JX4vutOq-9ZiUygRQY7-EeAa9Y2OOYvzHbmEBqcHQA0A?width=392&amp;height=284&amp;cropmode=none" width="277" height="201" class="" />

<img src="https://ndo7hg.bl.files.1drv.com/y4mvAn0b-gFLXYCJhn_yNbUr9uqCrt7ZWFtVupRJoZVCW_xZHDX6n1rlM0UoUTPvN361eIvka6N33SYc4aZtAI76iXi94Gl1lsbr32sd-YaQXEsjtsAQKAlpv0O_HBWzvLEgdFakBSCSBxiM8srezq3mB1UB7SLPMxvkf04jFqikbah1iWPPP8L13CjQ-YtbzaWlUeQVH8KBj1quzC1UmxyfQ?width=1620&amp;height=1090&amp;cropmode=none" width="539" height="363" class="" />

So as per the <em>router.js, </em><em></em>There are three APIs.
<ul>
 	<li>Index</li>
 	<li>getItems -- with parameter number</li>
 	<li>getText -- with parameter text</li>
</ul>
So now you can navigate to the folder by cmd and type "<em>node app.js</em>"

So your node API is now up in your local machine.

<img src="https://mzo7hg.bl.files.1drv.com/y4mOvXOcezxyC65TreWu2elub6F3NOkuaVF8hFxhFagrWZPpY6KzxhObz2sDSb208UPFeY6TcZNCiMPja-G4KJmbwcLq6A0AbMhL6meZjiwDijuT2Ou6yqe19GhA6kp0AlS2fIOCjDhIr3zjItYIwMkvrNWgep_0RsS4Yj8c2a475I7NVEdL7yVcQe4ChQrOCVQGo56XIQt9Jf7DooNOgCwOw?width=1110&amp;height=318&amp;cropmode=none" width="624" height="179" class="" />

<img src="https://mjo7hg.bl.files.1drv.com/y4mHqk-j3x18N8TS7VRq8gXQYfzbrIHSTLHuf0eX3Z7XirwXcO_lT2-n8xrY3kni_4S-j-4Ff3cprUKptqIw21Wxt721kcZXPToousVLh4KUDxOwwM7CThUMfW5N4Q6SObyUJdCPcgAYTACYG-3kODxWS9ebbaeKKa8qbYRB7F1qEo3G7zhaReTOfvcaxsn4pSROpmoYGfOqfLU-G7ULMrV5A?width=936&amp;height=344&amp;cropmode=none" width="555" height="204" class="" />

&nbsp;

<img src="https://mto7hg.bl.files.1drv.com/y4m23CpLzA7Eb7NGmXNDYRfhSZB6bnGrBUu6sFfLtwTT1Nt3HIx09dNeaTY6O6-otwmGAUqJD_CENxFshIcjR19EngOFyyr-kKIifzIIe8rrOZ6HgO_-jybcGk2RyRzVLtKqVA3Q71dzUC5Dh-Q6DG_3n_zWOSAaaSZfXw3sqJmVe_tyJmM2oXMwUXMqqsv5UMU75vytSmb8D5X4hMFfl4a_Q?width=2560&amp;height=288&amp;cropmode=none" width="703" height="79" class="" />

&nbsp;

Let's change your settings to publish your application to Azure.

First change your <em>package.json </em> as follows

<hr />

<div>
<div><span>{</span></div>
<div><span></span><span>    "name"</span><span>: </span><span>"demonodeproject"</span><span>,</span></div>
<div><span>     </span><span>"version"</span><span>: </span><span>"1.0.0"</span><span>,</span></div>
<div><span>     </span><span>"description"</span><span>: </span><span>"writing first node app"</span><span>,</span></div>
<div><span>     </span><span>"main"</span><span>: </span><span>"app.js"</span><span>,</span></div>
<div><span>     </span><span>"dependencies"</span><span>: {</span></div>
<div><span>           </span><span>"express"</span><span>: </span><span>"^4.14.0"</span></div>
<div><span>     },</span></div>
<div><span>     </span><span>"scripts"</span><span>: {</span></div>
<div><span>        </span><span>"start"</span><span>: </span><span>"node app.js"</span></div>
<div><span>     }</span></div>
<div><span>}</span></div>
-----------------

</div>
<div>Here the scripts section will run after the app published to azure.</div>
<div>Then let's add <em>web.config </em>file.</div>
<div>------------------</div>
<div>
<div>
<div><span>&lt;</span><span>configuration</span><span>&gt;</span></div>
<div><span>     </span><span>&lt;</span><span>system.webServer</span><span>&gt;</span></div>
<div><span>        </span><span>&lt;</span><span>handlers</span><span>&gt;</span></div>
<div><span>           </span><span>&lt;</span><span>add</span><span> </span><span>name</span><span>=</span><span>"iisnode"</span><span> </span><span>path</span><span>=</span><span>"app.js"</span><span> </span><span>verb</span><span>=</span><span>"*"</span><span> </span><span>modules</span><span>=</span><span>"iisnode"</span><span> </span><span>/&gt;</span></div>
<div><span>        </span><span>&lt;/</span><span>handlers</span><span>&gt;</span></div>
<div><span>           </span><span>&lt;</span><span>rewrite</span><span>&gt;</span></div>
<div><span>              </span><span>&lt;</span><span>rules</span><span>&gt;</span></div>
<div><span>                 </span><span>&lt;</span><span>rule</span><span> </span><span>name</span><span>=</span><span>"myapp"</span><span>&gt;</span></div>
<div><span>                    </span><span>&lt;</span><span>match</span><span> </span><span>url</span><span>=</span><span>"/*"</span><span> </span><span>/&gt;</span></div>
<div><span>                       </span><span>&lt;</span><span>action</span><span> </span><span>type</span><span>=</span><span>"Rewrite"</span><span> </span><span>url</span><span>=</span><span>"app.js"</span><span> </span><span>/&gt;</span></div>
<div><span>                 </span><span>&lt;/</span><span>rule</span><span>&gt;</span></div>
<div><span>                 </span><span>&lt;</span><span>rule</span><span> </span><span>name</span><span>=</span><span>"NodeInspector"</span><span> </span><span>patternSyntax</span><span>=</span><span>"ECMAScript"</span><span> </span><span>stopProcessing</span><span>=</span><span>"true"</span><span>&gt;</span></div>
<div><span>                    </span><span>&lt;</span><span>match</span><span> </span><span>url</span><span>=</span><span>"^app.js\/debug[\/]?"</span><span> </span><span>/&gt;</span></div>
<div><span>                 </span><span>&lt;/</span><span>rule</span><span>&gt;</span></div>
<div><span>               </span><span>&lt;/</span><span>rules</span><span>&gt;</span></div>
<div><span>        </span><span>&lt;/</span><span>rewrite</span><span>&gt;</span></div>
<div><span>        </span><span>&lt;</span><span>defaultDocument</span><span> </span><span>enabled</span><span>=</span><span>"true"</span><span>&gt;</span></div>
<div><span>           </span><span>&lt;</span><span>files</span><span>&gt;</span></div>
<div><span>              </span><span>&lt;</span><span>add</span><span> </span><span>value</span><span>=</span><span>"app.js"</span><span> </span><span>/&gt;</span></div>
<div><span>           </span><span>&lt;/</span><span>files</span><span>&gt;</span></div>
<div><span>        </span><span>&lt;/</span><span>defaultDocument</span><span>&gt;</span></div>
<div><span>     </span><span>&lt;/</span><span>system.webServer</span><span>&gt;</span></div>
<div><span>&lt;/</span><span>configuration</span><span>&gt;</span></div>
<div>-------------------</div>
<img src="https://odo7hg.bl.files.1drv.com/y4meL8F-NJaqNbPCy5wHZXvfSPATBf91HWDS5DIho7ufPU7oiLE8MYW0Yj_fKOtSaOL677pgeb98qtG8EY56XCkyG5qSHQIv0tLAu5w_L5d30c-e4PmIHZl8GZCIBZUdjOcU-IFbycJeUZiQvcOgI5DIiieeBzXzA9UoqnpLW1W0-zt0PdjgvYsMITXxXBScia2XYWRL5swICevTAVrMwohog?width=1688&amp;height=996&amp;cropmode=none" width="656" height="387" class="" />

</div>
</div>
<div></div>
<div>So now your folder structure needs to be like this. :)</div>
<img src="https://nzo7hg.bl.files.1drv.com/y4mQrv_i5oK8upZeZsZCm7s0iTBarW9SGH1h0KmE5ma0oS-lHxPwU24hBxnSf46O2lH6hW_qakPCAK6WiLQ2kxPEsECfc59r3pirgc736K8M608F8-s2ROKMwNNKcFVBudEO6KnNqd-kLOEB-B0ECOrpyFJ5oud7PsuO4u6pYS14tlC6xCjgHC2vzPMoUSDY-SuWp4AJ4fTeTtLEVveQ73Okw?width=346&amp;height=480&amp;cropmode=none" width="198" height="275" class="" />
<div></div>
<div></div>
<div>Let's create Web App Service in Azure.</div>
<div></div>
<iframe width="560" height="315" src="https://www.youtube.com/embed/OBlkle3O0hs?rel=0" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
<div></div>
<div>So your app service is up and running.</div>
<img src="https://njo7hg.bl.files.1drv.com/y4m7Rw4eBqwhML1oTrR2rkPEtpnYSIYU8jotqzEs8CTEPUvmkRUclS1LWT-8MgUHAJMeMh9KlvVIGgSR5bjGgUBZyR6xQu7pW6k31CrNZmLEGbOlKmlSTAWCa41sPXUGjsJlESAmH6fG9VFyRijYm2noiZov1brP1AisER0_vvYg4_AQuTu2Lnzyk4R8zWpCTD6tjwucGi-uo9V2cVzv7lzYQ?width=2438&amp;height=1072&amp;cropmode=none" width="592" height="260" class="" />
<div>Now what you have to do is, just zip all the content in your nodejs folder.</div>
<div>Then navigate <em>https://&lt;your app name&gt;.scm.azurewebsites.net/ZipDeploy </em></div>
<div>and upload your zip file.</div>
<iframe width="560" height="315" src="https://www.youtube.com/embed/beiOXHbzuQU" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
<div>(https://testingnodeapp.scm.azurewebsites.net/ZipDeploy)</div>
<div></div>
<div></div>
<div>And also you can use <em>https://testingnodeapp.scm.azurewebsites.net </em>to manage your web app in Azure.</div>
<div>After successful upload of your zip file, <em>Kudu </em>service will extract and publish your files to the Azure web app.</div>
<img src="https://nto7hg.bl.files.1drv.com/y4mqLKOh6d1SBh5ud1B1Q4mMgj9e_MhsKMzM2-wKoU__6UVfUrY2xqeGXvM6qMc0MlVDdNhNpjZEUrmxHSveSe2YrpUsGvoqUNd5nmnghkwzHiu3qz7RVGnbYlByJDHv3Y2wkUn-IXQ8Yk0cGOeTtW5btDoZO-OE20mLkZud_tbC_4Xvnu6IaYR9bKBwwx0vaIFivivD5ocaGHw2TtOxxJJkg?width=2206&amp;height=694&amp;cropmode=none" width="658" height="207" class="" />
<div>Now you can use you Node.js API. as <em>https://&lt;your app name&gt;.azurewebsites.net</em></div>
<div>(https://testingnodeapp.azurewebsites.net/)</div>
<div>So as per the previous local URLs, you can use this also in the same way.</div>
<div>(https://testingnodeapp.azurewebsites.net/getText/Hello user)</div>
<div>(https://testingnodeapp.azurewebsites.net/getItems/2)</div>
<div></div>
<img src="https://pdo7hg.bl.files.1drv.com/y4mibKas-66pD0w7lf2dfJWCPXy8lFuM8earuEkoDw8wv_lZVbTBsGRIyh30wMO0-rVLyR-6JxTnb6_kcvP7eZFf9qDMBNRuyzDnOSDQAKB-EEBeIBD8KDgpdmcYAD2ELGkWNIRQEFJcq6bKira21lH12eEh2XKdPJr07WucW138VtahBneoX5EFITaZvU2t3WGF_CtKtN_8ZZOwPUuQurWgw?width=1146&amp;height=282&amp;cropmode=none" width="663" height="163" class="" />

&nbsp;

<img src="https://ozo7hg.bl.files.1drv.com/y4mglQnWQqALwWev137QQPG4wHZWqdOtYJpWzZ5an0mKxTFbqEC8G5IvletphghZsgl9lVJ4xft8St6aA9rhBUuGnvzJ7tex2C0fYvEfqt8v0_3WxWd_O4WtpZMswx80lNhx-e9ApLDrhf_4rm_6pobvamwjvc66EtCs6Q2fvqzZpx9o07y5-Vrwr6YcKAJCLRjHth-Hhs3DE0NZ18VLC4l1g?width=1536&amp;height=322&amp;cropmode=none" width="636" height="133" class="" />
<div>I'm sharing my github repository of the API I've created.</div>
<div><a href="https://github.com/kavindasas/Node-JS-API-with-Azure">https://github.com/kavindasas/Node-JS-API-with-Azure</a></div>
<div></div>
<div>Hope you understood :)</div>
<div>References: <a href="https://docs.microsoft.com/en-us/javascript/azure/?view=azure-node-latest">https://docs.microsoft.com/en-us/javascript/azure/?view=azure-node-latest</a></div>
<div></div>]]></content:encoded>
    </item>
    <item>
      <title>Make Your FAQ Bot Application By Simple Clicks</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/microsoft-qna</link>
      <pubDate>Sat, 12 May 2018 19:42:37 GMT</pubDate>
      <dc:creator><![CDATA[Sasindu Kavinda]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=1025</guid>
      <description><![CDATA[Microsoft Bot Framework is an amazing framework that people are using it more and more to build Bots...]]></description>
      <content:encoded><![CDATA[<span>Microsoft Bot Framework is an amazing framework that people are using it more and more to build Bots these days, because it is so simple to put together a Bot very quick.</span>

<span>When talking about the bot framework, and chatbots in general, people usually assume that these are all using some clever logic and Natural Language Processing (NLP) to deliver a chunk of business logic via a natural language interface.</span>

<span>With the bot framework this is most likely implemented by wiring up the </span><a href="http://luis.ai/">Language Understanding Intelligent Service (LUIS)</a><span>: originally a stand-alone, (optionally) self-training, natural language understanding service, but now part of </span><a href="https://www.microsoft.com/cognitive-services/">Microsoft Research’s Cognitive Services</a><span> – previously “Project Oxford” – a collection of extremely powerful machine learning APIs for processing images, video, text, speech, to extract meaning.</span>

As a simple bot application let's create a conversational bot. So this article will be based on creating a bot application which supports QnA or else known as FAQ bot.

As the first step you have to login to your azure portal and need to create a new service =&gt; Search for "QnA Maker" and then create the service with selecting the resource group and pricing tires.


<img src="https://1qc6zg.bl.files.1drv.com/y4mX1s-JfpSIzSC5Z9xMsaQfQS5YlOhgEmNRl__Fuz2uZ5GR1HKa4GmIK3DBnu-mOcwiKanPGJxY_eQRnen8SlBM6MkHEv6o9Vvf1NYMCk0WxfRafC6TywtXm6xhZBZft7FuyqJCOinjAOGnPUY0Fn_DXP_9tGD3PdnkK4focAFFzv-WztY1-wUxeuVYtqXafw6VSBxGfsehLcNaZ_obMCwXg?width=1574&amp;height=844&amp;cropmode=none" width="1574" height="844" />

<img src="https://16c6zg.bl.files.1drv.com/y4mzwT3FRzBFiWBHehqD60vOvbMY-uS3IVDFTBRcIu1gYGVbKmJBM1pYtj7XK8OHjjzd8S0DWYxd-0cQyUhV8W0mRJz6opLtJY6nG2aOYX8xwZ_75ZJ4b5Lp7ZuepiA95Q_iWi4FYegVelzK3VBykYfywo7T0D_VYenQshS5WuELi2D5E52N7UlsNbBIp0nw2YVxjO5fj1IY2DYw95DHatGig?width=720&amp;height=1338&amp;cropmode=none" width="720" height="1338" />


So after the deployment, you can view your created bot service in your azure portal.

Then you can navigate to <a href="https://www.qnamaker.ai/Create">https://www.qnamaker.ai/Create</a> to create the QnA Bot. There you need to login from the account you have created your service. Now you will see what are the available Azure directories and according to the directory, your subscription and your available bot services you created.


<img src="https://0kc6zg.bl.files.1drv.com/y4mfTUchSBsNrRy9cguLvQafziqgTn25I7YV44iVj0Nl5koVMifTzaQ2ktKBBAO2dp_5llKV3lF7M9_Ga6K5jFmJUgj1kMLl1MxMnqns_Uwk3TJQHoOPtWfpLBRsssg8dYbMfvtRIL1hqCWmK6sIjy57c5QhTgm9-Kx6KTBYXEZ1PQJ2RdCZtT1Lljdjnk0yVPHN6IJO02Lly46FdEWpMeOjQ?width=1894&amp;height=1104&amp;cropmode=none" width="1894" height="1104" />

<img src="https://0ac6zg.bl.files.1drv.com/y4m_9JpM4aN8Gtk1jSyXj_IFDKT3BVkgOu2Zp6r6q690kAqtdlEiPSzzf-JE-mPfx5UZG7y0rmGxv33gkrbKnxQXZysUa5z89f6y17ftpVdm5ZPMvoG85EsV3qeNae3fNqfyXa--61gCfmf7z7BB7ySeAahGg0IiUfNHCCS4RNZARXQqw4_pb89-1jvBC_pe8q6sYmF2-77KEafV6fLW7p-2g?width=1874&amp;height=1082&amp;cropmode=none" width="1874" height="1082" />



As the next step you have to give a name for you knowledge base. Next you can populate FAQ list as your knowledge base or you can manually add new question and answer pair to the knowledge base to train.


<img src="https://0qc6zg.bl.files.1drv.com/y4mZqvXlbIeudDc7BbhrVqu5rVxqTc37tk8z3_SyA2Bc2liKh9oB5y4clfe77G3aPfyzIah7QkwwDFPqliCccyTmpW6RG6ynClf2UHZhbbgErsjERF9BYG7sHdi5fncgmD2CWo5lux0JG0mH-nV648ukTdThXUOodeyCh2zJor9HpQ_tMZ6vm0qT9hWQdQC0egtGV-0ufrFBlWJP9zTmTCbig?width=1408&amp;height=576&amp;cropmode=none" width="1408" height="576" />

After that you can train your bot service upto the given questions. Then it will show you the extracted questions and answer pairs in your model.

<img src="https://zkc6zg.bl.files.1drv.com/y4moeiMEYmzJsNi5O_0RVAp6eSWh3XdsbUIv_IioBbOlUIg8vjld6kNTMZ9bUf_AJFvZXWq0fo0ZmDS9SnslUeb56LxljSyLRgxiTIjFZR1k4Dfp7MV25vCyI2bVuVSZfQXDII3V1B7z7BRoBL7PbWlyLL-K9EdU8OF4QSixM5WwKrmQoverieBfz42fJ1ZzrjD45q6WyYzsw52eR7K2Ucd6w?width=2226&amp;height=1146&amp;cropmode=none" width="2226" height="1146" />

And also from here, you can just add new question and answer pair. Like below image, you can just add new questions.


<img src="https://zac6zg.bl.files.1drv.com/y4myD7DHSKJ6YosjeN54Plm9umP4gT4zVdUsGXjRgBeUFc1uE96BlrKZvBh5kKYAFCCJIK-DmmE-hKCXoZPcK6J4a0SxM1uAAg-q0nnLrVxM-d4oQJUOjCrmYwHN4a1batUcJik6eZHT7Y07oQq3cB591OXkwbwznti0NWfrE2mwvX2T02KA80WL8GR7MRGr0pazZ60LeDpY8b8k9H1u8eZ3A?width=2286&amp;height=592&amp;cropmode=none" width="2286" height="592" />

Then you can Save and Train your QnAs.

<img src="https://zqc6zg.bl.files.1drv.com/y4myKR2XV5A36YgjS5lj-KoUjlsYFuVrleGqNISjZxE7-Qq9smYf-_MPruEorPF3quPsvrK4nl7ssVqmjJ98H6Ecgga4JJWCmmG1ludStgna_1kPiIu2Eqrm-8w8h7bHuEl2Ugyk_coh5rt9tU-erWbOo9wLNS1jNOD_2n5RB6Srh6GyekeaZj_ZGsJFIE4NrEdTb8hEVMVY2m9b6thmozenA?width=1092&amp;height=638&amp;cropmode=none" width="802" height="438" />


And the most impressive thing is, you can see a live testing of your created bot by click the "Test" at your right upper corner.


<img src="https://1qfvqg.bl.files.1drv.com/y4mzTgSYxi4UlkkY260uRmBm7NDopyNd5gD2AjyXuRElYIuJMlW14DmAjubzRZOfht8546gpANOAsJ_GdSgSmW539wCrnWQI9X4Yj3LsRSTJZqTZumtNYnrQwN4ksudCLDfn-KGsEx1QJOqojZ9JqEgg3WZc4TS94EBQgCfkbd97LuzjUMHaRST6l5GMx3sVvmXhWm7oeU27hEUVkxC_R6OLQ?width=754&amp;height=1302&amp;cropmode=none" width="354" height="602" />

Now you can publish your Bot Service.

<img src="https://16fvqg.bl.files.1drv.com/y4m_6mp8MO-SlFd5bCT3Y9rG0uMMxH3KP4x9QR_OdJttqFiLbsVRyr0bF5Yh0p3a0kUrsCvgagVbUZSOkscuk9VuncHn6wH_X5RDqaPn2aNGDCQEjPMILTL9oGIkdvezNoOSqsKnTf0U84-2Ez0HZG3VHaZ82e_aX8KFNRijo7eWiu15i6ZUzVq5pvxaeVN_FHktQtttCSS4C8v_mpy-i9ijg?width=1338&amp;height=586&amp;cropmode=none" width="1338" height="586" />


So, now you can see the request URI of your deployed bot application. You can just request this uri and get back the response as the answer.

<img src="https://z6c6zg.bl.files.1drv.com/y4muPKAAVKaTy2D7bd84V-O43dX4HVYf83j9CbSXLlk-9izs1AcalFd_ML4n54A2TVd0iB-GTxDdXtRR4MtRduRFpGxI-uyT2gy_EJDlQIWUjhQRLb6N75XonicOpJRM73iYbSbKtRz-3QH_Ls8Ea8K6UAxZ4glYQIHLV8wyRKuNuWhf22tskHxoLw_uQfnZCEd_l_gErSgp1cdMKi50a--cg?width=2252&amp;height=722&amp;cropmode=none" width="2252" height="722" />

Like wise you can create this as a sample bot application. In addition you can use Luis service to understand the user's input and match words and then it will return an answer with much confidence.

Happy Coding :)

References: <a href="https://www.luis.ai/">https://www.luis.ai/</a> , <a href="https://qnamaker.ai/">https://qnamaker.ai/</a>]]></content:encoded>
    </item>
    <item>
      <title>Azure Custom Vision Service : How to do a simple custom image recognition.</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/azure-custom-vision-service-how-to-do-a-simple-custom-image-recognition</link>
      <pubDate>Fri, 27 Apr 2018 12:58:29 GMT</pubDate>
      <dc:creator><![CDATA[Nissanka Seneviratne]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=945</guid>
      <description><![CDATA[Custom vision service is a part of the cloud based azure cognitive service API.While the traditional...]]></description>
      <content:encoded><![CDATA[Custom vision service is a part of the cloud based azure cognitive service API.While the traditional computer vision API is effective on generic images it performs poorly when we want the results for a particular use case or a domain. This is where Custom Vision API comes in. We can train the image recognition algorithm from our own labelled data set thus achieving higher accuracy.

Through this tutorial I aim to go through on how to make your image recognition simple through the custom vision API.

As the first step login to https://www.customvision.ai/projects using your Microsoft account.

<img src="https://msdnshared.blob.core.windows.net/media/2018/04/114-300x271.png" alt="" width="300" height="271" class="alignnone size-medium wp-image-965" />

Choose the domain that you prefer. The Food domain is best optimized to detect food items, Adult domain is best optimized to recognize Adult related content. If you are not sure on which domain to use it choose the general domain. The domains with an exclamation mark next to them can be exported and used somewhere else. I'll be using this service to identify tomato diseases.

Then you will have to upload your image set to the cloud service from your local device.When uploading first upload the related images first. For example in my data set I will first add the tomato blight data set. In the next step we have to add the labels for this data. This is the most important step that affects your accuracy. So please make sure to add the proper labels that describe your image here. In my data set i'll label it as tomato blight as i uploaded images with tomato blight disease.

<img src="https://msdnshared.blob.core.windows.net/media/2018/04/410-300x269.png" alt="Azure custom image recognition" width="356" height="319" class=" wp-image-985" />

After the image finishes uploading click Add images option again and add the other data set. I will be uploading the data set with healthy tomato leaves and giving it the relevant label.Make sure you upload at least 5 images per each tag.

&nbsp;

<img src="https://msdnshared.blob.core.windows.net/media/2018/04/63-300x282.png" alt="Azure custom image service" width="300" height="282" class="alignnone size-medium wp-image-995" />

Then click on the train button and wait for some time which will vary based on size of your data set.

<img src="https://msdnshared.blob.core.windows.net/media/2018/04/314-236x300.png" alt="" width="236" height="300" class="alignnone size-medium wp-image-1005" />

Then using cross validation of the provided data set the precision and recall values are given.These values will differ based on the size of the data set and the labeling of the data.

Thereafter click on the quick test option to upload an image which is not in the dataset. Using this option we can test out whether our service works in the way that we intended.<img src="https://msdnshared.blob.core.windows.net/media/2018/04/411-300x171.png" alt="" width="300" height="171" class="alignnone size-medium wp-image-1015" />

This is the result that i got when i uploaded an image with tomato blight.It gave the prediction with an accuracy of 94% which is very reliable.

You can publish this as a web service and use it in connection with your app. Microsoft Azure has simplified the process of prediction for you and now all what you need is a data set with proper labels to create the next big image recognition app. Please post in the question board if you have any queries or contact me through astroanju80@gmail.com]]></content:encoded>
    </item>
    <item>
      <title>Connect Your IoT Devices to Cloud with Azure IoT Hub</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/azure-iot-hub</link>
      <pubDate>Sat, 24 Mar 2018 14:40:55 GMT</pubDate>
      <dc:creator><![CDATA[Sasindu Kavinda]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=895</guid>
      <description><![CDATA[So IoT is not an extreme new, in fact it's been something companies have been doing since before it...]]></description>
      <content:encoded><![CDATA[So IoT is not an extreme new, i<span>n fact it's been something companies have been doing since before it was named IoT. The Microsoft Azure IoT Hub is an IoT suite in the Azure cloud, which offers several services for connecting IoT devices with Azure services, processing incoming messages or sending messages to the devices. From a device perspective, the functionalities of the Microsoft Azure IoT Hub enable simple and safe connection of IoT devices with Azure services by facilitating bidirectional communication between the devices and the Azure IoT Hub.</span>

This has many features which you need not any much effort to work the IoT with cloud.
<ul>
 	<li>Provides multiple device-to-cloud and cloud-to-device communication options. These options include one-way messaging, file transfer, and request-reply methods.</li>
 	<li>Provides built-in declarative message routing to other Azure services.</li>
 	<li>Provides a queryable store for device metadata and synchronized state information.</li>
 	<li>Enables secure communications.</li>
 	<li>Provides extensive monitoring for device connectivity and device identity management events.</li>
 	<li>Includes device libraries for the most popular languages and platforms.</li>
</ul>
For the IoT services, there are two kind of Hubs in Azure. IoT Hub and Event Hub. So they have some differences in the connectivity and the usage with the IoT device it self.  So IoT hub supports two way communication where Event hub mostly used only device-to-cloud service. And when we take the file uploading scenario. event hub will not supports. IoT Hub <span>Provides </span>device SDKs<span> for a large variety of platforms and languages, in addition to direct MQTT, AMQP, and HTTPS APIs. And in Event Hub, it supports on .NET, Java, and C, in addition to AMQP and HTTPS send interfaces. </span>

You may wonder why we have to use this Azure IoT Hub for the IoT device connectivity?

So in this IoT hub, we can create our devices with a unique device name(known as device Id) which allows you to send messages from your raspberry pi or Arduino. So the IoT Hub contains all the information of the device which registered. As a example, the state of the device, configuration and all needy informations saved. Also this has a high secure connectivity between the device and the cloud. So each of the device registered in the cloud has own authentication and secured connectivity. This will allow you to send messages from device easily. No dozens of lines of codes needed. And the best thing is the support of various languages with the support of SDKs. So this supports <span>C#, Java, JavaScript and Python. </span>

So as a scenario which we need to get sensor data from 1000 devices all over over the country. You ever knew that this supports <span>500,000 devices simultaneously. So we can send data from 500,000 devices per second. </span>

<span>So this is pretty awesome. So wait till next blog which will show how to send and receive data from Azure IoT Hub with a real example. </span>

<span>References: <a href="https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-get-started-simulated">https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-get-started-simulated</a> </span>]]></content:encoded>
    </item>
    <item>
      <title>Enabling Search Abilities to Your Apps with Azure Search</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/azure-search-as-a-service</link>
      <pubDate>Sun, 25 Feb 2018 10:50:33 GMT</pubDate>
      <dc:creator><![CDATA[Sasindu Kavinda]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=885</guid>
      <description><![CDATA[Azure Search is a cloud service that provides indexing and querying capabilities for uploaded data....]]></description>
      <content:encoded><![CDATA[<span>Azure Search is a cloud service that provides indexing and querying capabilities for uploaded data. This removes the infrastructure requirements and search algorithm complexities traditionally associated with implementing search functionality in an application.</span>

<span>Definitely, you may face situations to integrate search facilities in your mobile, web or any application you develop. It’s search. Below are a few examples where you would use Search.</span>
<ul>
 	<li><em>In a Blog Site or Mobile App<span>, </span></em>you would able to integrate a search option by entering some relevant keyword.</li>
 	<li><em>Web Site or Mobile App<span> </span></em>You might want to search some relevant data, such as location data, food prices etc.</li>
 	<li><em>E-Commerce sites<span> </span></em>You would search for different gadgets, books etc. depending on your needs.</li>
</ul>
Everything depends on "Search".

So this is a component of the Microsoft Azure Cloud Platform providing indexing and querying capabilities for data uploaded to Microsoft servers. The Search as a service framework is intended to provide developers with complex search capabilities for mobile and web development while hiding infrastructure requirements and search algorithm complexities.

For everything,
<ul>
 	<li>We don’t need to manage the infrastructure.</li>
 	<li>Everything related to the required infrastructure for provisioning the search will be taken care of by Microsoft Azure.</li>
 	<li>Reduced time and efforts both in terms of development and management of the functionalities.</li>
</ul>
<span>Azure Search supports over </span>50 language analyzers<span> to choose from. This can be exposed as a rest API.</span>

Let's create a Search Service in Azure Portal.

Create A Resource --&gt; Azure Search

<img src="https://zqeyeg.dm2301.livefilestore.com/y4mObG0nWw8ERBmxbpqfM1J_gH3CaxZJsPrMTvc6dwxdS-oIktBtxsy3-FSLNawZ9SR1EjBCL5dFhLeYuduAd8dme_PrDqJ_Ajp_tD3h1aJJ6MRh1HjDXP3mnzCEpt0mtUf2sBNVbtRQFzA6VMs3Zls8KdVewdqJYGStu6uz7rGyLi9NwLIsRRhtIxa-bRWpFbJo2Wf-lWMGYR4UIfLoA1K9g?width=1172&amp;height=1294&amp;cropmode=none" width="351" height="388" class="" />

Click Create and you can fill the data like below. :)

<img src="https://zaeyeg.dm2301.livefilestore.com/y4mWl6m4F0WEnnqEv9fuZAS8P81qUAEFNWoGenfMlEjgAAqk0wDyarnDADs8f_kiWzVxLlI7ZzV0X4HVtCH8_AoO8jHWgR385l40CGFbNnsUpYBI9Tfb99hA2kEqu7PpxVyDIChQ9o0NT_oZmxipp217ULb15UGE2tpSEjqQB3ro-0oDqPuR9uzcbyxV5GWmq7Xbl5QFk2CutJxlLUDRmgAGg?width=686&amp;height=1340&amp;cropmode=none" width="222" height="433" class="" />

Now you can see the dashboard of your created search service. For the testing purposes, you can import a sample data set provided by Azure.
<img src="https://0qeyeg.dm2301.livefilestore.com/y4mxqBLoYRXKTcMsR7VByM2KATQ1k5pjZZMQYLXsmoiwHEmWfS9SohEOT_oJQpLvODEp3nzkqYd318jmK_RinmrR_IPMyTO_kagjNoZ9yEeWyFqh5b3sp31OE0cR_H6MMtKAoc-FnHXZAPaq3EApAdHhdaNyBLkYmo31IJBDFIr7wRD2h3IO9DoVwOT-3_NLg8JjSXlMdUidhaQcb4OFqGNmA?width=2114&amp;height=1330&amp;cropmode=none" width="559" height="352" class="" />

&nbsp;

<iframe width="560" height="315" src="https://www.youtube.com/embed/6GHQp0eNnkY" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

&nbsp;

As you can see in the video, you can connect any data source or multiple data sources to feed data when we search through the index. (<span>An index is like a database table that holds your data and can accept search queries. You define the index schema to map to reflect the structure of the documents you wish to search, similar to fields in a database.)</span>

As you can see in the following image, when you importing your data set, you can define what are the retrievable, searchable columns.

<img src="https://zkeyeg.dm2301.livefilestore.com/y4mf5j5pDChTssgpEVkP2HRJig4DgHf8Vsit5H0xCEG5fm_DVYh1pHlhH0fqpcu9E8jMNxfozOFDphLzJqoaaky6mN8HuDSQZegIt8SFAA08P40sK0yb4fSFz5g22xRWy0oCefX-NN6xcwC0wgTp36RKr2Y7E2Kp1mJtOqkuwohmK6-j0lVvjO6BZ7rFDU8gjKyNiR87b3jvtJg394KKVWwZw?width=2122&amp;height=1342&amp;cropmode=none" width="511" height="323" class="" />

&nbsp;

And you can change the key if you need as in the time you import your dataset.

<img src="https://06eyeg.dm2301.livefilestore.com/y4mZ7c6Aylsn7lALUxqdpiLJVjyG3K_Q23joR-t6x4o7GvQKrdrDOegpZVQyBPtptbFB8ydP7qtVx1AtdIiOKK0Ll_fGvrGW7pck6NPEkXg_3qonpE3a8ujMt2MVVOFpMjEdPBr0pP4Ueul8WkV2rg79sHl1h1s55YR4CyrAhzv370ZYCPs_3kChjBBQqAS2mV7K_etT3Aq9xk6T2ExiGsvRQ?width=1708&amp;height=498&amp;cropmode=none" width="1708" height="498" />

Likewise, you can do your search service using Azure Search. You can use this in your application as a rest call.

Ref: <a href="https://docs.microsoft.com/en-us/rest/api/searchservice/">https://docs.microsoft.com/en-us/rest/api/searchservice/</a>

Comment Below if has any issue :)]]></content:encoded>
    </item>
    <item>
      <title>How to host WordPress site on Microsoft Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/how-to-host-wordpress-site-on-microsoft-azure</link>
      <pubDate>Tue, 20 Feb 2018 12:44:43 GMT</pubDate>
      <dc:creator><![CDATA[Yasintha Perera]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=755</guid>
      <description><![CDATA[Greetings! Today I’m going to install WordPress on Azure. Let’s see how it going to...]]></description>
      <content:encoded><![CDATA[<section class="section section--body">
<div class="section-divider" style="text-align: left">

<hr class="section-divider" />

</div>
<div class="section-content" style="text-align: left">
<div class="section-inner sectionLayout--insetColumn">
<p class="graf graf--p">Greetings! Today I’m going to install WordPress on Azure. Let’s see how it going to work.</p>

</div>
</div>
</section><section class="section section--body">
<div class="section-divider" style="text-align: left">

<hr class="section-divider" />

</div>
<div class="section-content">
<div class="section-inner sectionLayout--insetColumn">
<p class="graf graf--p" style="text-align: left">After you logged into the <a target="_blank" href="https://portal.azure.com" rel="noopener" class="markup--anchor markup--p-anchor">Azure portal</a> navigate to create resources and search WordPress.</p>
<p style="text-align: left"></p>
<img src="https://cdn-images-1.medium.com/max/800/1*ZV33YxOeH8XieylRHf6GGQ.png" />
<p class="graf graf--p" style="text-align: left">then press<strong class="markup--strong markup--p-strong"> create</strong></p>
<img src="https://cdn-images-1.medium.com/max/800/1*EgVkqXX-79bQbgI4SNk1Ww.png" />
<p class="graf graf--p" style="text-align: left">Then you’ll get website Configuration and enter the following information :</p>

<ol style="text-align: left">
 	<li class="graf graf--blockquote" style="text-align: left">website name (<strong class="markup--strong markup--blockquote-strong"><em class="markup--em markup--blockquote-em">example</em></strong>.azurewebsites.net)</li>
 	<li class="graf graf--blockquote" style="text-align: left">Subscription</li>
 	<li class="graf graf--blockquote" style="text-align: left">Resource Group</li>
 	<li class="graf graf--blockquote" style="text-align: left">Database provider (Azure Database for MySql)</li>
 	<li class="graf graf--blockquote" style="text-align: left">App service plan</li>
 	<li class="graf graf--blockquote" style="text-align: left">Database (In here you have to configure database server)</li>
</ol>
<img src="https://cdn-images-1.medium.com/max/800/1*hdL_d2zXG48mhWx44jDE5g.png" />
<p style="text-align: left"><img src="https://cdn-images-1.medium.com/max/800/1*_hbi98uZ3z1z3XZcvzNOBQ.png" /></p>
<p style="text-align: left"><img src="https://cdn-images-1.medium.com/max/800/1*_gu-m8G4WkGJ0gZK_oeJ_w.png" /></p>
<p class="graf graf--p" style="text-align: left">Now a new WordPress site is being deployed to Azure websites and will take a few minutes to create the resource group and provision Website, Database and Storage resources within this group. Once you are notified in the notifications section that the deployment went through successfully. You can see it on the dashboard. In my case <em class="markup--em markup--p-em">sampleblog123.azurewebsites.net</em></p>
<p class="graf graf--p" style="text-align: left">After clicking it, You can see the website settings.</p>
<p style="text-align: left"><img src="https://cdn-images-1.medium.com/max/800/1*c332xeb-8yq-1XpRh8x95Q.jpeg" width="1056" height="569" class="" /></p>
<p class="graf graf--p" style="text-align: left">Click the URL and setup WordPress web as following figures.</p>
<p style="text-align: left">Select your preferred language</p>
<p style="text-align: left"><img src="https://cdn-images-1.medium.com/max/800/1*VBHoEtPr4nArbgtmnkYhJQ.png" /></p>

<blockquote>
<p class="graf graf--p"></p>
</blockquote>
<p class="graf graf--p" style="text-align: left">Set website title and WordPress admin portal username password and email.</p>
<p style="text-align: left"><img src="https://cdn-images-1.medium.com/max/800/1*QUJsYHTiOKgQkARRrxk9lQ.png" /></p>
<p class="graf graf--p" style="text-align: left">All done. Let’s log in to our WordPress web now. :)</p>
<p style="text-align: left"><img src="https://cdn-images-1.medium.com/max/800/1*CfkV7DJ0n9iJ018q_1hoKg.png" /></p>
<p class="graf graf--p" style="text-align: left">your WordPress admin portal URL will be <strong class="markup--strong markup--p-strong"><em class="markup--em markup--p-em">examp</em></strong><strong class="markup--strong markup--p-strong"><em class="markup--em markup--p-em">le</em></strong>.azurewebsites.net<strong class="markup--strong markup--p-strong">/wp-admin</strong></p>

<img src="https://cdn-images-1.medium.com/max/800/1*GXz4aATEgh9msjq0el3YAA.png" /></div>
</div>
Thanks.

Reference <a href="https://medium.com/@yasintha/how-to-host-wordpress-site-on-microsoft-azure-dd66e8a2e376">https://medium.com/@yasintha/how-to-host-wordpress-site-on-microsoft-azure-dd66e8a2e376</a>

</section>]]></content:encoded>
    </item>
    <item>
      <title>Automate your every step using Microsoft Flows</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/how-to-use-microsoft-flows</link>
      <pubDate>Sun, 18 Feb 2018 18:18:44 GMT</pubDate>
      <dc:creator><![CDATA[Sasindu Kavinda]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=655</guid>
      <description><![CDATA[If you're not using Microsoft Flow for process automation, are you really as efficient as you think...]]></description>
      <content:encoded><![CDATA[<span>If you're not using Microsoft Flow for process automation, are you really as efficient as you think you are?As we move through our daily routine, it's natural to wonder how you can become more efficient. How do you automate simple tasks? Where can you save time within a process without sacrificing quality or reliability of the results? Microsoft Flow answers the call for the automation of workflows. </span>

For automating these processes, you can use your outlook account or O365 account. This is simply free for use. As the usage, you can automate your emails, get a notification when someone submitted a form, get a notification when someone posted on your facebook or twitter etc. Actually, this is super awesome. You don't need to worry about anything. Just wanted to do connect everything in flow wise. You can use "Schedule" trigger also if you need to run some flow to run as an example in 15 minutes, per day likewise.

So get started working with flows.

Go through with <a href="http://flows.microsoft.com">flows.microsoft.com</a>

They will ask you to sign-in. After you sign-in to MS Flows, you can see the following screen. <img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-18-at-3.40.58-PM-300x175.png" alt="" width="300" height="175" class="alignnone size-medium wp-image-665" />

There you can see "MyFlows", "Approvals", Templates", "Connectors".

MyFlows are the flows which you created previously.

Approvals are used to create a flow to the approval processes.

Templates are the sample templates which we can use to create flows. Those are common scenarios in day-to-day life.

As in Connectors, those are the things we need when creating our flows. Those are the access tokens, keys for the external sources. Such as if we want to use outlook email, You need to authorize the outlook.com account as a connector. You also can add those connectors in the time you create your flow.

Let's create a flow to send an email once in 15 minutes.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-18-at-3.53.48-PM-300x62.png" alt="" width="300" height="62" class="alignnone size-medium wp-image-675" />

&nbsp;

You can see how to create that flow.

[video width="2560" height="1600" mp4="https://msdnshared.blob.core.windows.net/media/2018/02/Untitled-9.mp4"][/video]

&nbsp;

This is the email received,

&nbsp;

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-18-at-3.56.44-PM-300x130.png" alt="" width="300" height="130" class="alignnone size-medium wp-image-685" />

So as it works fine.

Let's create a flow which reads the twitter posts with a #tag and send analyze the twitter post body.

Then the twitter body will send directly to Text Analytics API to get the "<span>SENTIMENT" and send an email with the sentiment percentage.</span>

For this first you need a Text Analysis API key, you can grab a free key from here: <a href="https://azure.microsoft.com/en-us/try/cognitive-services/?api=text-analytics">https://azure.microsoft.com/en-us/try/cognitive-services/?api=text-analytics</a>

Then you need to add a connector to your twitter account and outlook account.

<iframe width="560" height="315" src="https://www.youtube.com/embed/Kb7ryibFKPA" frameborder="0" allowfullscreen="allowfullscreen"></iframe>

&nbsp;

After all, you can see your connection are in active status.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-18-at-5.04.20-PM-300x193.png" alt="" width="300" height="193" class="alignnone size-medium wp-image-695" />

Finally, you will receive an email saying "Sentiment Detected" with the body including the sentiment score of the tweet.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-18-at-5.14.50-PM-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-715" />

In the send email flow item, I set the email body just as the Returned Sentiment Score. You can change it as  Tweet Body to get the Tweet Post included email.

For that, you can attach the previous item's results as in the email.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-18-at-5.17.44-PM-179x300.png" alt="" width="179" height="300" class="alignnone size-medium wp-image-725" />

And like here, you can just update your flow as follows,

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-18-at-5.18.22-PM-300x122.png" alt="" width="300" height="122" class="alignnone size-medium wp-image-735" />

You can edit the flow as a team if you are using an O365 account.

Likewise, you can connect anything from here and there. Not just Microsoft techs, you can send email to Gmail or connect google drive as well dropbox. This is really simple to start and workout.

This is a really awesome tool. Use this and reduce your day-to-day workload.

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Azure Functions Usage</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/azure-functions-usage</link>
      <pubDate>Sun, 11 Feb 2018 12:26:10 GMT</pubDate>
      <dc:creator><![CDATA[Sasindu Kavinda]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=535</guid>
      <description><![CDATA[In this post, I'm going to discuss Azure Functions.

Azure Functions is a solution for easily...]]></description>
      <content:encoded><![CDATA[<span>In this post, I'm going to discuss Azure Functions.</span>

<span>Azure Functions is a solution for easily running small pieces of code, or "functions," in the cloud. Azure Functions enables you to write serverless code to handle events at scale, with minimal overhead and cost. Azure functions work with both C#, F# and JavaScript functions. You may use many different triggers and binding types supported by Azure functions including monitoring queues. And it works with blob storage, sending emails, and able to develop in Visual Studio or from the command line with a text editor, if you prefer. As an awesome feature, this provides the ability to automate deployments, debug and monitor our functions. </span>

As per the working of Azure Functions, you don't need to write, deploy, run in different places and deploying the application getting it as a big task. Because the Azure Functions gives you every feature to work with different combinations with the support of C# F# codes and JavaScript codes.

Will go through with the implementation of Functions.

In the Azure portal, you can search "Function Apps"

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.31.36-AM-300x187.png" alt="" width="300" height="187" class="alignnone size-medium wp-image-536" />

You will need to enter the application name which you can access later through the URL. The resource group also needed with an active subscription. Then you can select either you need to deploy this in Windows or Linux Os. Then with new storage, you can simply create the Azure Function.

When you create the app you can see like this.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.37.16-AM-300x274.png" alt="" width="300" height="274" class="alignnone size-medium wp-image-545" />

After that, you can search with the created name to find your azure function to open the developing of your function.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.39.16-AM-300x93.png" alt="" width="300" height="93" class="alignnone size-medium wp-image-546" />

Then you can open the application. Now you can see your application is now running mode.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.40.02-AM-300x120.png" alt="" width="300" height="120" class="alignnone size-medium wp-image-555" />

With the name you created, you can navigate to your Azure Function using the URL.

Eg: <a href="https://testingfunctionappdemo.azurewebsites.net/">https://testingfunctionappdemo.azurewebsites.net/</a>

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.41.42-AM-300x161.png" alt="" width="300" height="161" class="alignnone size-medium wp-image-565" />

In the function section, you can create a new function with your own preferred language. Let's create "HTTP Trigger" which we can write C# or JavaScript or F# code to run a code as our need.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.45.09-AM-300x144.png" alt="" width="300" height="144" class="alignnone size-medium wp-image-566" />

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.46.30-AM-300x189.png" alt="" width="300" height="189" class="alignnone size-medium wp-image-576" />

As in the authorization level, there are three options;
<ol>
 	<li>Function: You need to provide<span> function specific API key.</span></li>
 	<li>Annonymous: No need of any authorizations.</li>
 	<li>Admin: You need to provide an admin key.</li>
</ol>
So you can create Function with Annonymous Authorizations.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.49.43-AM-300x161.png" alt="" width="300" height="161" class="alignnone size-medium wp-image-585" />

This will show "run.csx" file where the full code that we need to run. This is the C# script.

The sample c# script will shows. This script will return "Hello {Name}".

Name is the parameter that we need to provide when we calling the URL.

Like: https://testingfunctionappdemo.azurewebsites.net/api/HttpTriggerCSharp1?name=sasindu

Then this will return "Hello Sasindu" in &lt;string&gt; tags as in XML format.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.53.29-AM-300x104.png" alt="" width="300" height="104" class="alignnone size-medium wp-image-586" />

This is the function you created.

Then you can create a trigger inside the function to trigger the function as a timer.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.57.46-AM-300x211.png" alt="" width="300" height="211" class="alignnone size-medium wp-image-595" />

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.58.03-AM-162x300.png" alt="" width="162" height="300" class="alignnone size-medium wp-image-596" />

In the timer function, you can set the schedule which we need to trigger the script code inside the trigger function.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-11.59.51-AM-300x132.png" alt="" width="300" height="132" class="alignnone size-medium wp-image-606" />

Let's edit the time trigger to call the 1st created function.

Use below code :

----------------
<div>
<div><span>using</span><span> System;</span></div>
<div><span> </span></div>
<div><span>public</span><span> </span><span>static</span><span> </span><span>async</span><span> Task Run(TimerInfo myTimer, TraceWriter log)</span></div>
<div><span>{</span></div>
<div><span> </span><span>var</span><span> client = </span><span>new</span><span> HttpClient();</span></div>
<div><span> </span><span>var</span><span> response = </span><span>await</span><span> client.GetAsync(</span><span>"https://testingfunctionappdemo.azurewebsites.net/?name=Sasindu"</span><span>);</span></div>
<div><span> </span><span>var</span><span> result = </span><span>await</span><span> response.Content.ReadAsStringAsync();</span></div>
<div><span> </span></div>
<div><span> log.Info(</span><span>$"Executed HttpTriggerCSharp1: {</span><span>DateTime.Now</span><span>}, Result: {</span><span>result</span><span>}"</span><span>);</span></div>
<div><span>}</span></div>
<div>---------------</div>
<div>//Please use your url as: https://testingfunctionappdemo.azurewebsites.net/</div>
</div>
<div>Then you can see the output in the log.</div>
<div></div>
<div>Actually, this is a sample function application.</div>
And in the "run.csx" file, you can edit that script as you need. You can use Azure SQL database queries as well.

To use SQL DB, When you click the Function Apps Name, you can see "OverView" and "Platform Features".

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-12.06.27-PM-300x138.png" alt="" width="300" height="138" class="alignnone size-medium wp-image-616" />

In here, you can find "Application Settings".

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-12.07.23-PM-300x167.png" alt="" width="300" height="167" class="alignnone size-medium wp-image-625" />

Then when you go down, you can see the "Connection String" area.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-12.08.40-PM-300x52.png" alt="" width="300" height="52" class="alignnone size-medium wp-image-635" />

Here you can add the connection string as in we previously used in other c# applications. And just you can call that connection string in the run.csx file as below:

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-11-at-12.14.19-PM-300x108.png" alt="" width="300" height="108" class="alignnone size-medium wp-image-645" />

This is a simple update query.

As you can see we can do many more things with the serverless <span>compute service.</span>

References: <a href="https://docs.microsoft.com/en-us/azure/azure-functions/">https://docs.microsoft.com/en-us/azure/azure-functions/</a>]]></content:encoded>
    </item>
    <item>
      <title>Azure SQL Database - Database as a Service</title>
      <link>https://docs.microsoft.com/archive/blogs/sltechgeeks/azure-sql-database-as-a-service</link>
      <pubDate>Sun, 04 Feb 2018 20:56:36 GMT</pubDate>
      <dc:creator><![CDATA[Sasindu Kavinda]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sltechgeeks/?p=425</guid>
      <description><![CDATA[Microsoft SQL Server is a relational database management system developed by Microsoft. So as in the...]]></description>
      <content:encoded><![CDATA[<span><b>Microsoft SQL Server</b> is a relational database management system developed by Microsoft. So as in the usage of Microsoft SQL Server, the first thing comes to our mind is SQL Database which we can create and consume in SQL Server. In the reason of most .Net and other developers intend to use MS SQL Server Databases, the versions of SQL Server also has now come with SQL 2017 as their newest release which was started from MS SQL Server 7.0 and 6.0. </span>

In an era which every technology is in the cloud, Microsoft has decided to add new service: SQL Database as a Service. It was just the previous SQL Server Databases which we used as on-premise versions. This was announced in the year 2009.  And in the year <span>2010 – Service went live. </span>So now we can use the Azure SQL DB as a central DB for any usage. Such as if a developer needs to use his application as web and mobile, he can use one single Database for his usage without many configurations at a low cost.

<span>Azure SQL Database is offered either as a Standalone database or Elastic database pool and is priced in three tiers: Basic, Standard, and Premium. Each tier offers different performance levels to accommodate a variety of workloads.</span>

So the Basic will be<span>st suit for a small database, supporting typically one single active operation at a given time. Examples include databases used for development or testing or small-scale infrequently used applications. and the Standard will most cloud applications, supporting multiple concurrent queries. Examples include workgroup or web applications. And the final or Premium is designed for high transactional volume, supporting many concurrent users and requiring the highest level of business continuity capabilities. Examples are databases supporting mission-critical applications. For more on pricing: <a href="https://azure.microsoft.com/en-us/pricing/details/sql-database/">https://azure.microsoft.com/en-us/pricing/details/sql-database/</a></span>

Will create a sample database and check how it will go. First, you have to log in to the Azure portal.

Then you need to select new Item -&gt; Databases -&gt; SQL Database as follows

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-04-at-7.58.14-PM-300x213.png" alt="" width="422" height="299" class="alignnone wp-image-435" />

So you will need an active subscription to create the database. Then you can directly Configure the Server and just create the database. Then it will deploy in your workspace.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-04-at-8.01.08-PM-292x300.png" alt="" width="192" height="197" class="alignnone wp-image-445" />

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-04-at-8.11.29-PM-300x191.png" alt="" width="565" height="360" class="alignnone wp-image-455" />

This is what you see after the deployment of the DB. Here you can see the DB connection string, resource group, active status and the basic details of your DB.

As a tip, for the usage of the Database for development purposes, you have to add the IP ranges of the devices which are going to access the database. Otherwise, those connections will automatically refuse by the Azure DB. To configure that, you can see "Set server firewall" button in the middle of the menu.

When you click that button you will redirect to a form as below shown.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/unnamed-file-273x300.jpg" alt="" width="273" height="300" class="alignnone size-medium wp-image-495" />

Here you can add "New Rule" mentioning the IP range as Start IP and End IP. So that you can configure the firewall settings.

In this post, this is the most eye-catching thing in Azure SQL DB,  which is the "Query Editor".

Did you ever think that you would able to use SQL Databases without Visual Studio or SQL Server? Yes, you can use it now from this Query Editor.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-04-at-8.33.53-PM-300x188.png" alt="" width="300" height="188" class="alignnone size-medium wp-image-505" />

You just need to log in using the User Name and the Password given when you create the server for the Database.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-04-at-8.45.48-PM-300x154.png" alt="" width="300" height="154" class="alignnone size-medium wp-image-506" />

Then you will see the Tables, Views, Stored Procedures as you can see in MS SQL Server management studio. The difference is you have to do everything using queries.

<img src="https://msdnshared.blob.core.windows.net/media/2018/02/Screen-Shot-2018-02-04-at-8.49.06-PM-300x136.png" alt="" width="300" height="136" class="alignnone size-medium wp-image-515" />

Just give a try and use Azure SQL DB. You can have free Azure credits with new account from here: <a href="https://azure.microsoft.com/en-us/free/">https://azure.microsoft.com/en-us/free/</a>

For more details: <a href="https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-get-started-portal">Azure SQL</a>]]></content:encoded>
    </item>
  </channel>
</rss>