<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom"
  version="2.0">
  <channel xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <title>Microsoft Azure Blog</title>
    <link>https://azure.microsoft.com/blog/</link>
    <description />
    <language>en-US</language>
    <lastBuildDate>Tue, 25 Jul 2017 03:11:04 Z</lastBuildDate>
    <item>
      <guid
        isPermaLink="false">hdinsight-tools-for-intellij-eclipse-june-updates</guid>
      <category>Developer</category>
      <category>Big Data</category>
      <title>HDInsight tools for IntelliJ &amp; Eclipse June updates</title>
      <description>This is to update that HDInsight Tools June release has been released! In this release, you can choose SBT as build tool in addition to Maven when creating Spark project in IntelliJ. Spark job view…</description>
      <pubDate>Mon, 24 Jul 2017 10:00:13 Z</pubDate>
      <content:encoded>&lt;p&gt;HDInsight tools &lt;b&gt;June release&lt;/b&gt; has been released! In this release, you can choose &lt;a href="http://www.scala-sbt.org/index.html"&gt;SBT&lt;/a&gt; as a build tool in addition to &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt; when creating Spark projects in IntelliJ. With improvements to Spark job view and job graph in IntelliJ and Eclipse, more job info and statistics are now provided. You can also view job logs including driver &lt;strong&gt;stderr&lt;/strong&gt;, &lt;strong&gt;stdout,&lt;/strong&gt; and &lt;strong&gt;directory&lt;/strong&gt; info easily in Spark job view.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Summary of key updates&lt;/h2&gt;&#xD;
&#xD;
&lt;h3&gt;Improved Spark job view and job graph in IntelliJ and Eclipse&lt;/h3&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;In Azure Explorer (&lt;strong&gt;View&lt;/strong&gt; &amp;gt; &lt;strong&gt;Tools window&lt;/strong&gt; &amp;gt; &lt;strong&gt;Azure Explorer in IntelliJ&lt;/strong&gt;), go to HDInsight node, select the Spark cluster, and then click &lt;b&gt;Jobs&lt;/b&gt; as shown below.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/5dd5e43c-49a9-43b7-a5ae-effa900ad5d8.jpg"&gt;&lt;img alt="1" border="0" height="206" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/58fdcd2c-6bfa-4da2-bb96-a629d1e6c461.jpg" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 25px; display: inline; padding-right: 0px; border-top-width: 0px" title="1" width="260"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;The left pane of Spark job view shows all the Spark applications that ran in the cluster. Select one Spark job to view more details.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/4ed15721-c089-4812-9b6d-4227e4ebaa42.jpg"&gt;&lt;img alt="2" border="0" height="186" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/98bdb3b2-ae8b-4cfa-8ee3-39428cf0e484.jpg" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 25px; display: inline; padding-right: 0px; border-top-width: 0px" title="2" width="450"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;By hovering over the job graph, it will show the job run information. When clicking on job graph, it dives into the stage graph and shows the statistics of the job. You can also open Spark history UI or Yarn UI by clicking the respective link at the top of the Spark job view.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/6164f43c-fe3d-4032-8f05-570fe856ef98.jpg"&gt;&lt;img alt="3" border="0" height="191" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/2da64740-8d36-448a-b795-897cf15505a4.jpg" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 25px; display: inline; padding-right: 0px; border-top-width: 0px" title="3" width="450"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h3&gt;Improved Spark log view in IntelliJ and Eclipse&lt;strong&gt;&amp;nbsp; &lt;/strong&gt;&lt;/h3&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;In the same Spark job view pane, click the &lt;b&gt;Log&lt;/b&gt; tab to view the frequently used logs including driver stderr, driver stdout, and directory info, as shown below.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/182c8d46-b109-4822-9af2-6bae55b756b3.jpg"&gt;&lt;img alt="4" border="0" height="414" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/291fa7e7-d943-46d3-b3f7-4ef55e016cc0.jpg" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 25px; display: inline; padding-right: 0px; border-top-width: 0px" title="4" width="450"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h3&gt;SBT build tool support when creating Spark project in IntelliJ&lt;strong&gt; &lt;/strong&gt;&lt;/h3&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;As shown below, you can now choose &lt;a href="http://www.scala-sbt.org/index.html"&gt;SBT&lt;/a&gt; as a build tool in addition to &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt; when creating a new Spark project in IntelliJ.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/31670427-3e30-4671-8be3-b3b75fea231b.jpg"&gt;&lt;img alt="5" border="0" height="274" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/1f91ea13-ad7b-415c-a8eb-04c8fddc18d7.jpg" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 25px; display: inline; padding-right: 0px; border-top-width: 0px" title="5" width="450"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;Following the wizard to create a Spark project, after it is done, a new &lt;i&gt;build.sbt&lt;/i&gt; file is generated which contains the build description for the project. Then you can author, submit, or debug the Spark job following &lt;a href="https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-apache-spark-intellij-tool-debug-remotely-through-ssh"&gt;the Spark job submission/debugging instructions&lt;/a&gt;.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/2cfa3975-d58e-4524-8d39-c174c5954a8f.jpg"&gt;&lt;img alt="6" border="0" height="244" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/49b6a796-1305-4d2f-818b-22c5fcfd31b4.jpg" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 25px; display: inline; padding-right: 0px; border-top-width: 0px" title="6" width="450"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;How to install/update&lt;/h2&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&lt;strong&gt;HDInsight Eclipse plugin:&lt;/strong&gt; Eclipse will prompt you for latest update if you have the plugin installed before, or you can get the latest bits by going to the Eclipse repository and searching &amp;ldquo;&lt;strong&gt;Azure Toolkit for Java&lt;/strong&gt;&amp;rdquo;.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/44071f27-f689-4099-90fe-19bbc3783d5c.png"&gt;&lt;img alt="8" border="0" height="336" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/a1814a9e-c40c-4bef-87ee-794b8bc44737.png" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 25px; display: inline; padding-right: 0px; border-top-width: 0px" title="8" width="450"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&lt;strong&gt;HDInsight IntelliJ plugin:&lt;/strong&gt; IntelliJ will prompt you for latest update if you have the plugin installed before, or you can get the latest bits by going to the IntelliJ repository and searching &amp;ldquo;&lt;strong&gt;Azure Toolkit for IntelliJ&lt;/strong&gt;&amp;rdquo;.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/cc259e20-bd72-49b5-ac3a-300b95139e6d.png"&gt;&lt;img alt="9" border="0" height="262" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/26d7862d-29a1-467c-9eb9-1bcad973f99e.png" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 25px; display: inline; padding-right: 0px; border-top-width: 0px" title="9" width="450"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;For more information, check out the following:&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-visual-studio-tools-get-started"&gt;HDInsight Visual Studio plugin&lt;/a&gt; (&lt;a href="https://www.youtube.com/watch?v=dx5vCUTZEkU"&gt;Demo video&lt;/a&gt;)&lt;/li&gt;&#xD;
	&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-apache-spark-eclipse-tool-plugin"&gt;HDInsight Eclipse plugin&lt;/a&gt; (&lt;a href="https://mix.office.com/watch/1rau2mopb6fha"&gt;Demo video&lt;/a&gt;)&lt;/li&gt;&#xD;
	&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-apache-spark-intellij-tool-plugin"&gt;HDInsight IntelliJ plugin&lt;/a&gt; (&lt;a href="https://www.youtube.com/watch?v=YTZzYVgut6c"&gt;Demo video&lt;/a&gt;)&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;Learn more about today&amp;rsquo;s announcements on the &lt;a href="https://azure.microsoft.com/en-us/blog/"&gt;Azure blog&lt;/a&gt; and &lt;a href="https://blogs.msdn.microsoft.com/azuredatalake"&gt;Big Data blog&lt;/a&gt;, and discover more &lt;a href="https://azure.microsoft.com/en-us/updates/"&gt;Azure service updates&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Feedback&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;We look forward to your comments and feedback. If there is any feature request, customer ask, or suggestion, please send us a note to &lt;a href="mailto:hdivstool@microsoft.com"&gt;hdivstool@microsoft.com&lt;/a&gt;. For bug submission, please open a new ticket using the &lt;a href="http://sqlbuvsts01:8080/Main/Cosmos/Developer%20Experience/_workItems/create/Defect?%5BSystem.Title%5D=%5BHDInsight+Studio%5D&amp;amp;%5BMicrosoft.VSTS.Common.Priority%5D=1&amp;amp;%5BSystem.IterationPath%5D=Cosmos%5CReleases%5CCosmos%5CCY15SU04"&gt;template&lt;/a&gt;.&lt;/p&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/hdinsight-tools-for-intellij-eclipse-june-updates/#comments</comments>
      <link>https://azure.microsoft.com/blog/hdinsight-tools-for-intellij-eclipse-june-updates/</link>
      <dc:creator>Jenny  Jiang</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">more-resource-policy-aliases</guid>
      <category>IT Pro/DevOps</category>
      <title>More resource policy aliases</title>
      <description>This blog introduces new aliases in resource policies.</description>
      <pubDate>Mon, 24 Jul 2017 09:00:12 Z</pubDate>
      <content:encoded>&lt;p&gt;Aliases in resource policies enable you to restrict what values or conditions are permitted for a property on a resource. If you are already familiar with &lt;a href="http://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-policy#aliases"&gt;p&lt;/a&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-policy#aliases"&gt;olicy aliases&lt;/a&gt;, you know they are a crucial part of managing your Azure environment.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;We want to keep adding new policy aliases, so you can more easily govern what gets deployed in your environment. In this blog, I would like to share most recent aliases we have enabled.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;First, let&amp;rsquo;s review how aliases are integrated into user requests. Each policy alias maps to paths in different API versions for a given resource type. During policy evaluation, when the policy engine retrieves the value of a particular field, it looks at the API version of the request and gets the path for that version. The diagram below shows how policy alias works during policy evaluation time.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/2fc981a6-9b63-45ac-a3dd-50a0f87adad4.png"&gt;&lt;img alt="howaliasworks" border="0" height="861" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/b67fda3b-1fc2-4eb9-b33f-158e826cca6c.png" style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="howaliasworks" width="1411"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Custom Image for virtual machines&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;For security reasons, lots of customers want to make sure only custom images from the central IT team are deployed in their environment. The IT team approves a set of&amp;nbsp;&lt;a href="https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource"&gt;managed images&lt;/a&gt;, and puts them in a resource group. To ensure VMs are created from these images, you implement a resource policy. For implementation, you can either specify the resource group which contains the images or explicitly specify the images.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;We added the Microsoft.Compute/imageId alias to enable this scenario. You can use it for virtual machines or virtual machine scale sets by modifying the type condition.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The examples below show what the policies look like.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Example1: (use images from certain resource group)&lt;/p&gt;&#xD;
&#xD;
&lt;pre class="prettyprint"&gt;&#xD;
{&#xD;
    &amp;quot;if&amp;quot;: {&#xD;
        &amp;quot;allOf&amp;quot;: [&#xD;
            {&#xD;
                &amp;quot;field&amp;quot;: &amp;quot;type&amp;quot;,&#xD;
                &amp;quot;equals&amp;quot;: &amp;quot;Microsoft.Compute/virtualMachines&amp;quot;&#xD;
            },&#xD;
            {&#xD;
                &amp;quot;not&amp;quot;: {&#xD;
                    &amp;quot;field&amp;quot;: &amp;quot;Microsoft.Compute/imageId&amp;quot;,&#xD;
                    &amp;quot;contains&amp;quot;: &amp;quot;resourceGroups/testImage&amp;quot;&#xD;
                }&#xD;
            }&#xD;
        ]&#xD;
    },&#xD;
    &amp;quot;then&amp;quot;: {&#xD;
        &amp;quot;effect&amp;quot;: &amp;quot;deny&amp;quot;&#xD;
    }&#xD;
} &#xD;
&lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;Example2: (use specific images)&amp;nbsp;&lt;/p&gt;&#xD;
&#xD;
&lt;pre class="prettyprint"&gt;&#xD;
 {&#xD;
&#xD;
                    &amp;quot;field&amp;quot;: &amp;quot;Microsoft.Compute/imageId&amp;quot;,&#xD;
&#xD;
                    &amp;quot;in&amp;quot;: [&amp;quot;&amp;lt;imageId1&amp;gt;&amp;quot;,&amp;quot;&amp;lt;imageId2&amp;gt;&amp;quot;]&#xD;
&#xD;
                }&#xD;
&#xD;
   &lt;/pre&gt;&#xD;
&#xD;
&lt;p&gt;&lt;strong&gt;Microsoft.Compute/imageId&lt;/strong&gt; is the new alias we enabled. You can also use it for virtual machines scale set by modifying the type condition.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Platform Images&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;We introduced a set of aliases that can be used across resource types. These cross resource type aliases enable you to &lt;a href="https://docs.microsoft.com/en-us/azure/virtual-machines/windows/policy?toc=%2fazure%2fazure-resource-manager%2ftoc.json"&gt;restrict platform images&lt;/a&gt; for virtual machines, virtual machine scale sets, and managed disks. For example, the alias &lt;b&gt;Microsoft.Compute/imagePublisher&lt;/b&gt; doesn&amp;rsquo;t have a resource type name, and can work across different resource types. The linked example shows how to use these aliases.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Use Managed Disk&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;With the release of managed disk, lots of customers want to require that only managed disks are deployed for VMs. With resource policy, you can now restrict your VM and scale set to &lt;a href="https://docs.microsoft.com/en-us/azure/virtual-machines/windows/policy?toc=%2fazure%2fazure-resource-manager%2ftoc.json"&gt;use only managed disks&lt;/a&gt;. The policy requires that fields related to managed disks are present in user request. Those fields are shown in the linked example. By looking for these fields, you can determine whether managed disks are used with the VM or scale set.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;VM Extension Types&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;Organizations may want to forbid usage of certain type of extensions. For example, a VM extension may not be compatible with certain custom VM images. Or, for security reasons, you don&amp;rsquo;t want users to reset password for a VM. The example below shows how to block a specific VM extension. It uses publisher and type to determine which extension to block.&lt;/p&gt;&#xD;
&#xD;
&lt;pre class="prettyprint"&gt;&#xD;
{&#xD;
    &amp;quot;if&amp;quot;: {&#xD;
        &amp;quot;allOf&amp;quot;: [&#xD;
            {&#xD;
                &amp;quot;field&amp;quot;: &amp;quot;type&amp;quot;,&#xD;
                &amp;quot;equals&amp;quot;: &amp;quot;Microsoft.Compute/virtualMachines/extensions&amp;quot;&#xD;
            },&#xD;
            {&#xD;
                &amp;quot;field&amp;quot;: &amp;quot;Microsoft.Compute/virtualMachines/extensions/publisher&amp;quot;,&#xD;
                &amp;quot;equals&amp;quot;: &amp;quot;Microsoft.Compute&amp;quot;&#xD;
            },&#xD;
            {&#xD;
                &amp;quot;field&amp;quot;: &amp;quot;Microsoft.Compute/virtualMachines/extensions/type&amp;quot;,&#xD;
                &amp;quot;equals&amp;quot;: &amp;quot;VMAccessAgent&amp;quot;&#xD;
&#xD;
      }&#xD;
        ]&#xD;
    },&#xD;
    &amp;quot;then&amp;quot;: {&#xD;
        &amp;quot;effect&amp;quot;: &amp;quot;deny&amp;quot;&#xD;
    }&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
&#xD;
&lt;h2&gt;Azure Hybrid Use Benefit&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;When you have proper on-premise license, you can save the license fee on your virtual machines. When you don&amp;rsquo;t have the license, you should forbid the option. The following policy forbids usage of Azure Hybrid Use Benefit (AHUB).&lt;/p&gt;&#xD;
&#xD;
&lt;pre class="prettyprint"&gt;&#xD;
{&#xD;
    &amp;quot;if&amp;quot;: {&#xD;
        &amp;quot;allOf&amp;quot;: [&#xD;
            {&#xD;
                &amp;quot;field&amp;quot;: &amp;quot;type&amp;quot;,&#xD;
                &amp;quot;in&amp;quot;:[ &amp;quot;Microsoft.Compute/virtualMachines&amp;quot;,&amp;quot;Microsoft.Compute/VirtualMachineScaleSets&amp;quot;]&#xD;
            },&#xD;
            {&#xD;
                &amp;quot;field&amp;quot;: &amp;quot;Microsoft.Compute/licenseType&amp;quot;,&#xD;
                &amp;quot;exists&amp;quot;: true&#xD;
            }&#xD;
        ]&#xD;
    },&#xD;
    &amp;quot;then&amp;quot;: {&#xD;
        &amp;quot;effect&amp;quot;: &amp;quot;deny&amp;quot;&#xD;
    }&#xD;
}&lt;/pre&gt;&#xD;
&#xD;
&lt;h2&gt;Summary&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;To do a quick recap, this blog explains how policy alias works and what you can govern through resource policies. Try them and let us know what new things you want to govern!&lt;/p&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/more-resource-policy-aliases/#comments</comments>
      <link>https://azure.microsoft.com/blog/more-resource-policy-aliases/</link>
      <dc:creator>Mike Chen</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">azure-function-r</guid>
      <category>Web</category>
      <category>Developer</category>
      <category>Big Data</category>
      <category>Business Intelligence</category>
      <category>Data Science</category>
      <title>Go serverless with R Scripts on Azure Function</title>
      <description>Serverless is all the rage, now you can get in on the action using R! Azure Function supports a variety of languages (C#, F#, js, batch, PowerShell, Python, php and the list is growing). However R is not natively supported. In the following blog we describe how you can run R scripts on Azure Function using the R site extension.</description>
      <pubDate>Mon, 24 Jul 2017 08:00:12 Z</pubDate>
      <content:encoded>&lt;p&gt;Serverless is all the rage, now you can get in on the action using R! &lt;a href="https://azure.microsoft.com/en-us/services/functions/"&gt;Azure Function&lt;/a&gt; supports a variety of languages (C#, F#, js, batch, PowerShell, Python, php and the list is growing). However, R is not natively supported. In the following blog we describe how you can run R scripts on Azure Function using the &lt;a href="http://www.siteextensions.net/packages/R-3.3.3x64/"&gt;R site extension&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Azure Functions can be used in several scenarios because of the broad choice of triggers offered:&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;Timer trigger, executes a Function on a schedule.&lt;/li&gt;&#xD;
	&lt;li&gt;Http trigger, execute a Function after an HTTP call.&lt;/li&gt;&#xD;
	&lt;li&gt;Azure Queue Storage, Service Bus, Blob Storage, triggers the function when a new object or message is received.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;Why would you want to run R scripts on Azure Function?&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;A typical use-case would be replacing your R jobs currently scheduled with cron for example. Using Azure Function you can set up a timer trigger that triggers your R script on a periodic basis. You get a fully managed solution where you can get alerted on errors and access to the logs or edit the scripts directly from the browser. If you choose the consumption plan, then it is very cost-effective, &lt;a href="https://azure.microsoft.com/en-us/pricing/details/functions/"&gt;only paying per use and the underlying storage&lt;/a&gt;. (There is a free grant for the 1st million calls on the consumption plan).&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The following tutorial will walk you through the steps to create a twitter bot posting a ggplot of the temperature forecast for the next 5 days using only R and Azure Functions:&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/thdeltei/azure-function-r"&gt;Running R scripts on Azure Function Tutorial&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p style="margin-top: 0.25em; box-sizing: border-box;"&gt;&lt;a href="https://github.com/thdeltei/azure-function-r"&gt;&lt;input alt="Twitter Temperature Bot" src="https://github.com/thdeltei/azure-function-r/raw/master/media/00_tweet.PNG" style="width: 400px; height: 378px;" type="image"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p style="margin-top: 0.25em; box-sizing: border-box;"&gt;Go ahead and try it now, it is simpler than you think! Give us some feedback and let us know what you are using it for.&lt;/p&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/azure-function-r/#comments</comments>
      <link>https://azure.microsoft.com/blog/azure-function-r/</link>
      <dc:creator>Thomas Delteil</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">bing-map-v8-available-in-azure-iot-suite-remote-monitoring-preconfigured-solution</guid>
      <category>Internet of Things</category>
      <title>Bing Map v8 available in Azure IoT Suite Remote Monitoring preconfigured solution</title>
      <description>Azure IoT Suite is designed to get customers and partners started quickly to connect and manage their devices in a simple and reliable manner, realizing business value from an IoT solution. Bing Map (…</description>
      <pubDate>Thu, 20 Jul 2017 11:00:19 Z</pubDate>
      <content:encoded>&lt;p&gt;&lt;a href="https://www.microsoft.com/en-us/internet-of-things/azure-iot-suite" target="_blank"&gt;Azure IoT Suite&lt;/a&gt; is designed to get customers and partners started quickly to connect and manage their devices in a simple and reliable manner, realizing business value from an IoT solution. Bing Map (v7) has been integrated as part of &lt;a href="https://www.microsoft.com/en-us/internet-of-things/solutions" target="_blank"&gt;Azure IoT Suite Remote Monitoring preconfigured solution&lt;/a&gt; to visualize device locations and status in the preconfigured solution dashboard. We are pleased to announce that an advanced version of Bing Map (v8) has been effective since July 1st, 2017 for &lt;a href="https://www.microsoft.com/en-us/internet-of-things/solutions" target="_blank"&gt;Azure IoT Suite Remote Monitoring preconfigured solution&lt;/a&gt;. It provides customers and partners:&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&lt;strong&gt;High performance:&lt;/strong&gt; Data renders 10x faster.&lt;/li&gt;&#xD;
	&lt;li&gt;&lt;strong&gt;Extended culture support for 95 new languages:&lt;/strong&gt; Uses the Bing Maps REST services to perform geocode and route requests on up to 117 languages.&lt;/li&gt;&#xD;
	&lt;li&gt;&lt;strong&gt;New features based on developer feedback&lt;/strong&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;To leverage the new advanced map functionality, you can do one of the following:&lt;/p&gt;&#xD;
&#xD;
&lt;ol&gt;&#xD;
	&lt;li&gt;&lt;strong&gt;Deploy a new Remote Monitoring Solution:&lt;/strong&gt; All solutions deployed from &lt;a href="http://azureiotsuite.com"&gt;http://azureiotsuite.com&lt;/a&gt; will leverage the new V8 control.&lt;/li&gt;&#xD;
	&lt;li&gt;&lt;strong&gt;Update to the latest code: &lt;/strong&gt;&lt;a href="https://github.com/Azure/azure-iot-remote-monitoring" target="_blank"&gt;Get all new features from the master branch&lt;/a&gt;, such as Device Management and Bing Map v8.&lt;/li&gt;&#xD;
	&lt;li&gt;&lt;strong&gt;Update only the map control:&lt;/strong&gt; &lt;a href="https://github.com/Azure/azure-iot-remote-monitoring/pull/435/files" target="_blank"&gt;Get only the changes for the map control by referencing the single commit&lt;/a&gt;.&lt;/li&gt;&#xD;
&lt;/ol&gt;&#xD;
&#xD;
&lt;p&gt;In all scenarios, the existing Bing Map API Key under your account will be kept valid for you, no specific action is expected from customers due to the migration.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Learn &lt;a href="https://github.com/Azure/azure-iot-remote-monitoring/wiki" target="_blank"&gt;how to re-deploy over an existing Remote Monitoring preconfigured solution&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
&lt;/ul&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/bing-map-v8-available-in-azure-iot-suite-remote-monitoring-preconfigured-solution/#comments</comments>
      <link>https://azure.microsoft.com/blog/bing-map-v8-available-in-azure-iot-suite-remote-monitoring-preconfigured-solution/</link>
      <dc:creator>Sam George</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">introducing-the-azure-analysis-services-web-designer</guid>
      <category>Business Intelligence</category>
      <title>Introducing the Azure Analysis Services web designer</title>
      <description>Today we are releasing a preview of the Azure Analysis Services web designer. This new browser-based experience will allow developers to start creating and managing Azure Analysis Services (AAS)…</description>
      <pubDate>Thu, 20 Jul 2017 10:00:19 Z</pubDate>
      <content:encoded>&lt;p&gt;Today we are releasing a preview of the Azure Analysis Services web designer. This new browser-based experience will allow developers to start creating and managing Azure Analysis Services (AAS) semantic models quickly and easily. While SQL Server Data Tools (SSDT) and SQL Server Management Studio (SSMS) are still the primary tools for development, this new experience is intended to make simple changes fast and easy. It is great for getting started on a new model or to do things such as adding a new measure to a development or production AAS model.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;This initial release includes three major capabilities, model creation, model editing, and doing queries. The model can be created directly from Azure SQL Database and SQL Data Warehouse, or imported from Power BI Desktop PBIX files. When creating from a database, you can chose which tables to include and the tool will create a Direct Query model to your data source. Then you can view the model metadata, edit the Tabular Model Scripting Language (TMSL) JSON, and add measures. There are shortcuts to open a model in Power BI Desktop, Excel, or even open a Visual Studio project which is created from the model on the fly. You can also create simple queries against the model to see the data or test out a new measure.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Navigate to your Azure Analysis Services server in the Azure Portal and click the &amp;ldquo;Open&amp;rdquo; link from the Overview blade.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/b757f4f3-08c0-4767-81b3-c1baf240721d.png"&gt;&lt;img alt="New model" border="0" height="161" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/a06401ab-cc9c-4c98-8639-64fbda3e7aa0.png" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" title="New model" width="666"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Once the web designer opens, it will take you directly to your server where you can examine existing models or create new ones.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/afe4b6d3-6a3d-4ba3-84ba-8353aa5c3cb4.jpg"&gt;&lt;img alt="clip_image002" border="0" height="359" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/da7d0fc0-0e68-436d-ba10-d85ce97ba440.jpg" style="background-image: none; float: none; margin-left: auto; display: block; margin-right: auto; border-image: none" title="clip_image002" width="640"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Now that you have an AAS server, you can add a model directly from a database or you can import a Power BI Desktop PBIX file. Note, for PBIX import, only Azure SQL Database, Azure SQL Data warehouse, Oracle, and Teradata are supported at this time. Also, Direct Query models are not yet supported for import. We will be adding new connection types for import every month, so let us know if your desired data source is not yet supported.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/d65dbe5b-b34f-42a0-8626-c1ca27f4c86b.jpg"&gt;&lt;img alt="clip_image004" border="0" height="364" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/41b20990-6126-421b-ae2f-29e621c875ce.jpg" style="background-image: none; float: none; margin-left: auto; display: block; margin-right: auto; border-image: none" title="clip_image004" width="640"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Now that you have created a new model from a database or PBIX file, you can see it on the list of models in the AAS server and can edit the model or browse the model. To edit the model, click the pencil icon next to the model name.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/6898d872-c96e-4a11-9dd4-0a168dec11fa.png"&gt;&lt;img alt="clip_image005" border="0" height="393" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/274b96ab-09fa-4ca9-bad6-06a98a8084e8.png" style="background-image: none; float: none; margin-left: auto; display: block; margin-right: auto; border-image: none" title="clip_image005" width="640"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;When editing, you have access to the full TMSL and can make changes directly to the metadata of the model. Keep in mind that if you save changes, it is updating the model in the cloud. It is a best practice to make changes to a development server and propagate changes to production with a tool such as BISM Normalizer. For prototyping and development, you can make changes quickly and easily this way.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/5d0209d1-e9b0-432f-a071-309567e11fbd.jpg"&gt;&lt;img alt="clip_image007" border="0" height="169" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/2c65b88c-59c9-47e0-9e84-f8b32b2891b3.jpg" style="background-image: none; float: none; margin-left: auto; display: block; margin-right: auto; border-image: none" title="clip_image007" width="640"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;If you click Query, you can view data through a simple view or you can use the &amp;ldquo;Open in&amp;rdquo; button to open in Power BI Desktop or Excel. We think of the simple web view as a quick way to check your model or new measures you have created without having to use SSMS.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/d68d2887-3195-4537-988f-3e6465e757df.jpg"&gt;&lt;img alt="clip_image009" border="0" height="263" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/959cca6f-2af3-4473-ab1b-5e6bbfa6d803.jpg" style="background-image: none; float: none; margin-left: auto; display: block; margin-right: auto; border-image: none" title="clip_image009" width="640"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Finally you will notice that you can press the blue &amp;ldquo;Measures&amp;rdquo; link on the field list to open the simple measure editor. This is a great place to see all of your measures in one place, and also to quickly add measures to test in the UX.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/c0fc9d66-6d6d-4019-80b2-12ee6ff2b7ff.jpg"&gt;&lt;img alt="clip_image011" border="0" height="392" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/bf3d3c6d-833f-4491-9910-bdc5817d98c0.jpg" style="background-image: none; float: none; margin-left: auto; display: block; margin-right: auto; border-image: none" title="clip_image011" width="640"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;That is a brief introduction to the new Azure Analysis Services web designer. We hope you find the tool useful and we welcome your feedback in the &lt;a href="https://feedback.azure.com/forums/556165-azure-analysis-services"&gt;Azure Analysis Services feedback forum&lt;/a&gt;. We think this new experience will help you get started quickly and give you new options to make changes right in the web experience. We will be adding additional functionality each month, so let us know what you would like to see next!&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="http://azure.microsoft.com/services/analysis-services/"&gt;Learn more about Azure Analysis Services&lt;/a&gt;.&lt;/p&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/introducing-the-azure-analysis-services-web-designer/#comments</comments>
      <link>https://azure.microsoft.com/blog/introducing-the-azure-analysis-services-web-designer/</link>
      <dc:creator>Bret Grinslade</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">instant-file-recovery-from-azure-vm-backups-is-now-generally-available</guid>
      <category>Virtual Machines</category>
      <category>Storage, Backup &amp; Recovery</category>
      <category>Updates</category>
      <title>Instant File Recovery from Azure VM backups is now generally available</title>
      <description>Today, we are excited to announce that Instant recovery of files and folders from Azure VM backups by Azure Backup is now generally available (GA).</description>
      <pubDate>Thu, 20 Jul 2017 09:00:19 Z</pubDate>
      <content:encoded>&lt;p&gt;Today, we are excited to announce that Instant recovery of files and folders from Azure VM backups by Azure Backup is now generally available (GA). This adds to the repertoire of &lt;a href="https://azure.microsoft.com/blog/azure-backup-cloud-first-architecture/" target="_blank"&gt;cloud-first&lt;/a&gt; features we have been delivering from Azure Backup. We earlier announced that File-folder recovery from &lt;a href="https://azure.microsoft.com/blog/instant-file-recovery-from-cloud-backups-using-azure-backup/" target="_blank"&gt;Azure Windows VM backups&lt;/a&gt; and &lt;a href="https://azure.microsoft.com/blog/instant-file-recovery-from-azure-linux-vm-backup-using-azure-backup-preview/" target="_blank"&gt;Linux VM backups&lt;/a&gt; were available in preview. We received great feedback from preview and we have enhanced the feature in terms of customer experience, security, and performance.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/506470c9-8b05-474c-953c-e7c30e7d7a62.png"&gt;&lt;img alt="GABlogPic" border="0" height="251" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/ba6d7b53-8040-4e9d-92da-bb051a00f1f7.png" style="border: 0px currentColor; border-image: none; padding-top: 0px; padding-right: 0px; padding-left: 0px; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="GABlogPic" width="661"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Value Proposition Recap&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;To recap the value proposition, with this file recovery feature, now you can &lt;i&gt;&lt;strong&gt;securely&lt;/strong&gt;&lt;/i&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;&lt;b&gt;Recover files instantly&lt;/b&gt; &amp;ndash; Now instantly recover files from the cloud backups of Azure VMs &lt;strong&gt;&lt;em&gt;without any additional infrastructure&lt;/em&gt;&lt;/strong&gt;. Whether it&amp;rsquo;s accidental file deletion or simply validating the backup, instant restore drastically reduces the time to recover your data.&lt;/li&gt;&#xD;
	&lt;li&gt;&lt;b&gt;Open application files without restoring them&lt;/b&gt; - Our iSCSI-based approach allows you to open/mount application files directly from cloud recovery points to application instances.&amp;nbsp;You need not restore the entire VM and thus save on time taken for recovery and consumption of bandwidth. For e.g. in case of backup of a Azure Linux VM running MongoDB, you can mount BSON data dumps from the cloud recovery point and quickly validate the backup or retrieve individual items such as tables without having to download the entire data dump.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;h2&gt;Related links and additional content&lt;/h2&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;Want more details about this feature? Check out our &lt;a href="https://docs.microsoft.com/en-us/azure/backup/backup-azure-restore-files-from-vm"&gt;Azure Backup File Restore documentation.&lt;/a&gt;&lt;/li&gt;&#xD;
	&lt;li&gt;Need help? Reach out to &lt;a href="https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=windowsazureonlinebackup"&gt;Azure Backup forum&lt;/a&gt; for support.&lt;/li&gt;&#xD;
	&lt;li&gt;Tell us how we can &lt;a href="http://feedback.azure.com/forums/258995-azure-backup"&gt;improve Azure Backup&lt;/a&gt; by contributing new ideas and voting up existing ones.&lt;/li&gt;&#xD;
	&lt;li&gt;Follow us on Twitter &lt;a href="https://twitter.com/azurebackup"&gt;@AzureBackup&lt;/a&gt; for the latest news and updates.&lt;/li&gt;&#xD;
	&lt;li&gt;If you are new to &lt;a href="https://azure.microsoft.com/en-us/services/backup/"&gt;Azure Backup&lt;/a&gt;, sign up for a &lt;a href="https://azure.microsoft.com/en-us/pricing/free-trial/"&gt;free Azure trial subscription.&lt;/a&gt;&lt;/li&gt;&#xD;
	&lt;li&gt;If you are looking for instant recovery from on-premises refer to &lt;a href="https://docs.microsoft.com/en-us/azure/backup/backup-azure-restore-windows-server#use-instant-restore-to-recover-data-to-the-same-machine"&gt;Use Instant Restore documentation&lt;/a&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/backup/backup-azure-restore-windows-server#use-instant-restore-to-recover-data-to-the-same-machine"&gt;.&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/instant-file-recovery-from-azure-vm-backups-is-now-generally-available/#comments</comments>
      <link>https://azure.microsoft.com/blog/instant-file-recovery-from-azure-vm-backups-is-now-generally-available/</link>
      <dc:creator>Kartik P V R</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">introducing-enterprise-smart-contracts</guid>
      <category>Blockchain</category>
      <title>Introducing Enterprise Smart Contracts</title>
      <description>Enterprise Smart Contracts decompose the “Public Smart Contract” approach, reflecting on both “contract” and technology evolution to provide a model for delivering on the promise of blockchain in the enterprise.</description>
      <pubDate>Thu, 20 Jul 2017 08:00:18 Z</pubDate>
      <content:encoded>&lt;h2&gt;Introduction&lt;/h2&gt;&#xD;
&#xD;
&lt;h4&gt;&lt;a href="https://github.com/Azure/azure-blockchain-projects/blob/master/bletchley/EnterpriseSmartContracts.md" target="_blank"&gt;&lt;em&gt;Enterprise Smart Contracts - Full Whitepaper&lt;/em&gt;&lt;/a&gt;&lt;/h4&gt;&#xD;
&#xD;
&lt;p&gt;It has been a little over a year since we announced Project Bletchley, and since that time we have been working directly with our partners and customers to understand how the cloud can help developers build a new generation of modern applications with blockchain as a core data layer.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Our initial goal for &amp;ldquo;Blockchain as a Service&amp;rdquo; was to make it easier for developers to set up a lab environment, get their hands dirty, and build something useful for the enterprise using a blockchain. Microsoft Azure makes it ridiculously easy to spin up the blockchain of your choice, including leading platforms such as Ethereum, Quorum (EEA), Hyperledger Fabric, R3 Corda and Chain Core &amp;ndash; we&amp;rsquo;ve made great progress against those initial goals.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Easing the deployment of this &amp;ldquo;plumbing&amp;rdquo; exposed perhaps an even larger challenge: how to build applications for these new environments. Our customers and partners often say to us, &amp;ldquo;Ok, you&amp;rsquo;ve made it easy for me to stand up these blockchain networks, but what do I do now?&amp;rdquo;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;This echoes the mid-to-late 1990s when just getting connected to the internet was made much easier with TCP/IP and a web browser included in your operating system for &amp;ldquo;surfing&amp;rdquo; the web. The early &amp;ldquo;surfing&amp;rdquo; experience, however, was limited to a small set of static web pages and basic email. There was a long way to go from Windows 95 to the .com craze, as the early software development platforms and tools were simply not designed for the web. The result: it took a lot of learning and iterative innovation before you could stand up a viable e-commerce site. Blockchain platforms are in a similar position today:&amp;nbsp; Azure makes it easier to get connected to the &amp;ldquo;network,&amp;rdquo; but you can&amp;rsquo;t do much with it yet.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;So, we took a step back to consider what customers truly wanted to build. We learned from early adopters across industries that the business processes most interesting for blockchain were shared. Processes that cross both organizational and trust boundaries. Managing interactions with semi-trusted parties means clearly articulating each parties&amp;rsquo; obligations, rules on how to meet them and penalties for failing to meet them. In short, a contract.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The introduction of Smart Contracts in 2015 was largely responsible for the explosion of interest in the enterprise for blockchains. However, the first versions of &amp;ldquo;Public Smart Contracts&amp;rdquo; were not designed for enterprise use and cannot deliver against the requirements of the enterprise.&lt;/p&gt;&#xD;
&#xD;
&lt;blockquote&gt;&#xD;
&lt;p&gt;&lt;em&gt;Enterprise Smart Contracts are &amp;ldquo;what&amp;rsquo;s next&amp;rdquo; in the blockchain revolution.&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;/blockquote&gt;&#xD;
&#xD;
&lt;p&gt;Enterprise Smart Contracts decompose the &amp;ldquo;Public Smart Contract&amp;rdquo; approach, reflecting on both &amp;ldquo;contract&amp;rdquo; and technology evolution to provide a model for delivering on the promise of blockchain in the enterprise. A critical first step was to introduce separation of concerns in implementation, which modularizes data, logic, contract participants and external dependencies. What Enterprise Smart Contracts deliver are a set of components that can be combined to create contract templates that when executed, provide the privacy, scale, performance and management capabilities expected in the enterprise.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Enterprise Smart Contract Components&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;What exactly is an Enterprise Smart Contract? Let&amp;rsquo;s look at the major components:&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;Schema &amp;ndash; the data elements required for the execution and fulfillment of contract obligations between counterparties and the cryptographic proofs needed to maintain the integrity and trust across counterparties and observers such as auditors or regulators.&lt;/li&gt;&#xD;
	&lt;li&gt;Logic &amp;ndash; business rules defined in the schema and agreed to by the counterparties and observers. Cryptographic proofs required for the execution, versioning and integrity of both the code and its results are persisted to the blockchain as defined in the schema.&lt;/li&gt;&#xD;
	&lt;li&gt;Counterparties &amp;ndash; identities of participants (people, organizations and things) agreeing to the terms and execution of the contract, authenticated through cryptographic primitives such as digital signatures.&lt;/li&gt;&#xD;
	&lt;li&gt;External Sources &amp;ndash; external input of data or triggers required to fulfill the execution requirements of the contract. These external sources and conditions for interaction are agreed to by the counterparties and observers.&amp;nbsp; As with the others, cryptographic proof is required to prove authenticity and establish trust in the external sources.&lt;/li&gt;&#xD;
	&lt;li&gt;Ledger &amp;ndash; the immutable instance of a contract on a distributed ledger (blockchain) containing the data items in the schema to record all contract activities and proofs. This can be either a public &amp;ldquo;distributed trustless database&amp;rdquo; or a &amp;ldquo;shared, permissioned, semi-trusted, discretionarily private database.&amp;rdquo;&lt;/li&gt;&#xD;
	&lt;li&gt;Contract Binding - A Enterprise Smart Contract Binding is the composition of these parts creating a unique instance of an Enterprise Smart Contract. It is created when a contract begins negotiation between counterparties and becomes versioned and locked when each counterparty signs the contract. Once signed and locked the Enterprise Smart Contract begins the execution of the terms and conditions that lead to fulfillment.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/2fed8045-1ff2-4a49-841d-938ff2bb259f.png"&gt;&lt;img alt="EntSmartContract" border="0" height="529" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/9777e603-06de-4ea0-ba52-3cfbe2b0fbbe.png" style="border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="EntSmartContract" width="610"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Implementing Enterprise Smart Contracts&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;Now that we have defined what makes up an Enterprise Smart Contract, it&amp;rsquo;s time to implement them. The cloud is the perfect companion to distributed ledger systems implementing Enterprise Smart Contracts. Since blockchains are comprised of distributed nodes that maintain the database, a globally-distributed, highly-available public cloud provides a great companion platform for services supporting these networks.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;ldquo;Public Smart Contracts&amp;rdquo; execute or run every single transaction on every single computer on the network. This is by design and necessary for trustless networks.&amp;nbsp; However, this need not be true for the enterprise. One of the benefits of Enterprise Smart Contracts is the ability to execute terms and conditions &amp;ldquo;off-chain,&amp;rdquo; allowing for vastly more flexible performance, scalability, privacy, versioning and an enterprise friendly architecture and development environment. The cloud can provide a shared logic execution platform for Enterprise Smart Contracts at massive scale, while sharing the true cost of running them only between counterparties. I call it &amp;ldquo;splitting the check.&amp;rdquo; When two or more people share a contract (dinner) with each other, the bill arrives, you simply split the check. Actually, we can be more discerning than that, but you get the picture. Sharing cloud resources with your counterparties makes &amp;ldquo;splitting the check&amp;rdquo; possible while not getting mired in whose datacenter the logic for your contract will execute.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Depending on the underling blockchain, transactions may or may not be private. Meaning, unless your blockchain supports an authorization framework that only allows certain identities to read certain data properties or encrypts data such that only certain identities can decrypt the data, your data is in the clear.&amp;nbsp; If you use encryption to encrypt your data AND execute your Smart Contract logic on the blockchain, then every node on that network needs to be able to decrypt that data in order to be able to compute against it.&amp;nbsp; Some platforms like Quorum and Hyperledger Fabric support these using various ways.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;However, executing your logic in an Enterprise Smart Contract means that you can keep not only your data private between counterparties, but your logic as well.&amp;nbsp; The resulting outputs of your logic can be encrypted before posting to the ledger creating a more discrete and flexible privacy model.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;This also creates a multi-trust model where Enterprise Smart Contracts can implement different privacy measures based on the blockchain underneath, utilizing privacy features that may be available for certain blockchains.&amp;nbsp; Without Enterprise Smart Contracts, you are limited to the trust model of the blockchain platform only.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/fbcb731a-93fd-4ada-a03d-05cef6ab9bb7.png"&gt;&lt;img alt="cloud blockchain" border="0" height="302" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/4fb8c683-19b5-4378-aff4-e8c4d7247195.png" style="border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="cloud blockchain" width="610"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Azure &amp;ndash; The Enabler&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;The Microsoft Azure platform provides the building blocks needed to deliver the core technical capabilities for implementing Enterprise Smart Contracts. However, composing them together is a complex undertaking. Last year, when the concept of Cryptlets was introduced, the benefits of separating the logic from the data while using the same cryptographic properties of blockchains was the primary focus. However, it is not enough to just share the same cryptographic primitives as blockchains. You need a platform and a framework that provides the infrastructure for creating Enterprise Smart Contracts. This is not something each counterparty in the network should have to build and maintain. A shared platform and framework for building Enterprise Smart Contracts or PaaS performs the difficult bits like:&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;Key Management&lt;/li&gt;&#xD;
	&lt;li&gt;Secure integration of enterprise identity to secrets/private keys to allow &amp;ldquo;on-behalf of&amp;rdquo; transactions&lt;/li&gt;&#xD;
	&lt;li&gt;Cryptographic proof generation across cipher suites (ECC, RSA, etc.) and shared infrastructure for expensive operations like Zero Knowledge Proofs, Ring Signatures and Threshold or Homomorphic encryption&lt;/li&gt;&#xD;
	&lt;li&gt;Abstracted integration into any blockchain or distributed ledger so logic is portable across platforms&lt;/li&gt;&#xD;
	&lt;li&gt;Enable blockchain to blockchain interoperability scenarios like an Enterprise Smart Contract using multiple different blockchains at the same time like recording a transaction proof on a public network for a private transaction.&amp;nbsp; Also, the potential to create Enterprise Smart Contracts that can perform asset transfers from one network to another.&lt;/li&gt;&#xD;
	&lt;li&gt;Open APIs for abstracting underlying blockchains for a common way of invoking Enterprise Smart Contracts as well as surfacing blockchain events and data to external systems.&lt;/li&gt;&#xD;
	&lt;li&gt;Common enterprise development environments like .NET and Java (CLR, JVM) and newer functional languages and DSLs.&lt;/li&gt;&#xD;
	&lt;li&gt;Extensible Data Services plugins to digest and make sense out of blockchain transactions with data lakes, warehouses, BI/Analytics and AI/Machine Learning.&lt;/li&gt;&#xD;
	&lt;li&gt;Enterprise Operations and Management tools&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;Using a combination of enabling technologies in the Azure cloud like Key Vault and Azure Active Directory along with a code attestation engine, which we will detail later, the foundations for this development framework are in place.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/b2429ba6-fa99-44d3-9747-4c666a3523f9.png"&gt;&lt;img alt="buildingblocks" border="0" height="345" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/914781f7-e5ad-46c1-80e1-6d64d793eec0.png" style="border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="buildingblocks" width="610"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Enterprise Smart Contracts - Framework&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;The Enterprise Smart Contract Framework provides the infrastructure and tools to build on this platform allowing you to harness existing enterprise investments in infrastructure and development skills. This framework is comprised of four major components.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/9ab38d82-196a-422d-a1cd-bf4b0d23bff8.png"&gt;&lt;img alt="4parts" border="0" height="338" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/8814b709-8ccc-41bb-bec5-b4679c0d22f3.png" style="border-image: none; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" title="4parts" width="610"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;Secrets, Control and Configuration &amp;ndash; authorizes access to secrets stored in Azure Key Vault for specific identities (people, cryptlets, IoT devices, etc.) authenticated via Azure Active Directory. Manages the bindings for Enterprise Smart Contracts.&lt;/li&gt;&#xD;
	&lt;li&gt;Runtime Environment Services &amp;ndash; provides attested execution for Cryptlets and abstracts underlying identity mapping and key management. This allows for developers to write Cryptlets in the language of their choice focusing on Enterprise Smart Contract logic and not the underlying &amp;ldquo;infrastructure.&amp;rdquo; The services dynamically create attested execution environments for Cryptlets to run in, securely provision secrets to these environments, and generates cryptographic proofs automatically.&lt;/li&gt;&#xD;
	&lt;li&gt;Transaction Builder and Router &amp;ndash; marshals and formats Cryptlet Messages into blockchain specific formats and routes these transactions to the appropriate blockchain with reliable delivery.&lt;/li&gt;&#xD;
	&lt;li&gt;API &amp;ndash; exposes a secure, authenticated message-based API for sending messages to and receiving messages from Enterprise Smart Contracts at massive scale.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;h2 align="left"&gt;Summary&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;Enterprise Smart Contracts and Microsoft Azure provide the infrastructure required to usher in &amp;ldquo;real world&amp;rdquo; enterprise applications to be built on blockchain networks. Cryptlets and the framework provide architects and developers a middle tier platform where existing skills, tools and components can be integrated.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The framework allows enterprises to build blockchain based applications with diverse capabilities:&lt;/p&gt;&#xD;
&#xD;
&lt;ul&gt;&#xD;
	&lt;li&gt;Publishing of attested data to and from external sources.&lt;/li&gt;&#xD;
	&lt;li&gt;Integration point for existing enterprise systems like ERP and CRM.&lt;/li&gt;&#xD;
	&lt;li&gt;Logic and behavior for all types of contracts, financial products: derivatives, bonds, insurance policies.&lt;/li&gt;&#xD;
	&lt;li&gt;Logic for license contracts: government issued business licenses, certifications, etc.&lt;/li&gt;&#xD;
	&lt;li&gt;IoT Integration through Azure IoT suite&lt;/li&gt;&#xD;
	&lt;li&gt;Cross blockchain coordination: asset or token transfer between different networks and platforms, e.g. Hyperledger Fabric to Enterprise Ethereum, record private proofs on a public blockchain.&lt;/li&gt;&#xD;
	&lt;li&gt;Token or Coin &amp;quot;minter&amp;quot; using off-chain integration, proofs and advanced coinbase behavior.&lt;/li&gt;&#xD;
	&lt;li&gt;Personal bot agent for &amp;quot;on behalf of&amp;quot; use cases.&lt;/li&gt;&#xD;
	&lt;li&gt;Distributed transaction support between blockchains and other enterprise systems, ledger resource compensation, two-phase commit, etc.&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&#xD;
&lt;p&gt;Enterprise Smart Contracts enable these capabilities by providing a secure, confidential, distributed, multi-party application platform for running shared business logic, with a cryptographic proof system that natively integrates with multiple blockchains. Enterprise Smart Contracts and Azure provide this platform that will allow the distribution of costs, risk, identity and more for building next generation distributed applications. These capabilities help unlock the power of blockchain based applications, while taking advantage of the flexibility and power of the cloud, in a way that works in modern enterprise environment.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You can learn more about our Enterprise Smart Contract framework in our &lt;a href="https://github.com/Azure/azure-blockchain-projects/blob/master/bletchley/EnterpriseSmartContracts.md"&gt;technical whitepaper&lt;/a&gt;.&lt;/p&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/introducing-enterprise-smart-contracts/#comments</comments>
      <link>https://azure.microsoft.com/blog/introducing-enterprise-smart-contracts/</link>
      <dc:creator>Marley Gray</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">how-azure-security-center-helps-protect-your-servers-with-web-application-firewall</guid>
      <category>Security</category>
      <title>How Azure Security Center helps protect your servers with Web Application Firewall</title>
      <description>Our adversaries have many tools available on the Internet for use in mounting cyberattacks. Many of these tools enable them to gain access and control of enterprise IT resources. In the meantime,…</description>
      <pubDate>Wed, 19 Jul 2017 10:00:06 Z</pubDate>
      <content:encoded>&lt;p&gt;Our adversaries have many tools available on the Internet for use in mounting cyberattacks. Many of these tools enable them to gain access and control of enterprise IT resources. In the meantime, security professionals are not always aware of the vulnerabilities built into the IT resources they are tasked to defend. Azure Security Center (ASC) can help bridge this gap.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;This blog post is for IT and security professionals interested in using Azure Security Center (ASC) to detect and protect Azure-based resources from SQL injection attacks among others. The goal of this post is to 1) explain how this well-known code injection occurs and 2) illustrate how ASC detects and resolves this attack to secure your IT resources.&amp;nbsp;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Tools make SQL injection easy&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;Servers and applications are easy targets for cybercriminals. One well-known method for attacking data-driven applications is via SQL injection. SQL injection is an attack technique where malicious code is injected for execution which leads to un-intended database access. A popular tool attackers can use for malicious injection is &lt;a href="http://sqlmap.org/" target="_blank"&gt;sqlmap&lt;/a&gt;. By using sqlmap, it is easy to discover vulnerable SQL databases and expose their contents. An attacker only needs to provide the appropriate request headers to authenticate and discover the databases, their tables, and even dump the users and hashed passwords. Once the attacker has this data, their next step is to use brute force analysis on the exposed hashes, another built-in feature of the sqlmap tool to obtain the plaintext user credentials as depicted below.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/404df6cd-b642-4b43-a5dd-5f9e2e2dba96.png"&gt;&lt;img alt="Plaintext user credentials" border="0" height="255" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/9319e029-d814-4544-be4a-2497f750712d.png" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" title="Plaintext user credentials" width="612"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Identifying risk with Azure Security Center&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;Azure Security Center (ASC), available on every subscription tier of Azure including free and trial subscriptions, can help identify connected IT assets with an HTTP endpoint. Additionally, ASC can automate the deployment of a Web Application Firewall (WAF) resource to help protect non-compliant resources, while pointing out detected malicious SQL injection attempts. The list of detections points to unprotected web servers where security remediation is needed. ASC scans virtual machines across an Azure subscription and makes recommendations to add Web Application Firewalls where applicable to at-risk resources.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/85177103-f5ef-4cb7-b381-75273348db3d.png"&gt;&lt;img alt="Power BI 1" border="0" height="282" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/c5515170-fd9c-4200-a8b2-dbce90db76cb.png" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" title="Power BI 1" width="318"&gt;&lt;/a&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/85daa2ec-883e-419e-a80d-663b065e9505.png"&gt;&lt;img alt="Power BI 2" border="0" height="281" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/e6ac7457-691a-4520-bc53-56236b2c5c3c.png" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" title="Power BI 2" width="427"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;ASC then offers guidance through the process of deploying and configuring a Web Application Firewall for partner or first party solutions.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/f7cd5d53-b4f8-4740-a638-5f50472196a4.png"&gt;&lt;img alt="Create a new Web Application Firewall solution" border="0" height="350" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/fa4c385c-d1de-413e-9356-3b7c1f47bfc5.png" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" title="Create a new Web Application Firewall solution" width="494"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Further guidance on tunneling IP traffic through the Web Application Firewall is also provided. This process provides an added layer of protection to the vulnerable web application.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Azure Security Center provides you with visibility, now that it&amp;rsquo;s been added to your resources, on the protections and detections including the Web Application Firewall.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/3734844c-628d-4dbe-a054-62af2362866d.png"&gt;&lt;img alt="Security alerts" border="0" height="356" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/359942e2-55c0-45ab-a81b-d1f4b4c6ba05.png" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" title="Security alerts" width="494"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Remedial actions with prevention&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-customize-waf-rules-portal" target="_blank"&gt;Configuring the WAF into prevention mode&lt;/a&gt; will prevent the sqlmap tool from accessing databases and tables it shouldn&amp;rsquo;t have access to. Thus, sqlmap can be prevented from even enumerating the type of database running on the backend, let alone traversing the databases for content. In prevention mode, the WAF prevents suspicious activity. ASC detects this and reports on the activity as it is blocked!&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/5e1f5b2f-0ad5-4d40-a1b0-f4c112ce1c50.png"&gt;&lt;img alt="Prevention mode" border="0" height="554" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/902cadf5-8e24-48b7-a9a1-f8ea3e57b477.png" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" title="Prevention mode" width="476"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Conclusion&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;Attack tools such as sqlmap are cheap and easily available. A &amp;ldquo;defense in depth&amp;rdquo; approach is critical to ensure applications are not vulnerable to SQL injection. Having visibility and control to detect and protect your resources against these attacks is crucial. ASC enables IT and security professionals to scan cloud-based resources for at-risk endpoints. Following recommendations by ASC, detection and protection can be achieved, helping organizations to meet their standards of information security compliance. While ASC is available on all subscription tiers of Azure, those on the Standard tiers can access a deeper level of insights, actions, and threat protection. If your enterprise requires a deep and granular level of cloud security, &lt;a href="https://azure.microsoft.com/en-us/free/" target="_blank"&gt;activate a free trial of Azure Standard&lt;/a&gt; to see how ASC can help your business.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;This blog post compliments a deeper dive, step-by-step playbook. To learn more please read &lt;em&gt;&lt;a href="https://gallery.technet.microsoft.com/ASC-Playbook-Protect-38bd47ff" target="_blank"&gt;ASC Playbook: Protect Servers with Web App Firewall&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Have questions? Email us at &lt;a href="mailto:AskCESec@microsoft.com" target="_blank"&gt;AskCESec@microsoft.com&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;- Hayden @hhainsworth&lt;/p&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/how-azure-security-center-helps-protect-your-servers-with-web-application-firewall/#comments</comments>
      <link>https://azure.microsoft.com/blog/how-azure-security-center-helps-protect-your-servers-with-web-application-firewall/</link>
      <dc:creator>Hayden Hainsworth</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">dynamic-site-acceleration</guid>
      <category>Media Services &amp; CDN</category>
      <title>Accelerate websites with Azure CDN using Dynamic Site Acceleration</title>
      <description>Users expect fast, reliable and personalized web experiences independent of their browser, location, device, or network. However, the very innovations, i.e. rich interactive content and applications,…</description>
      <pubDate>Wed, 19 Jul 2017 10:00:06 Z</pubDate>
      <content:encoded>&lt;p&gt;Users expect fast, reliable, and personalized web experiences independent of their browser, location, device, or network. However, the very innovations, such as rich interactive content and applications, that make these experiences so engaging also slow page downloads and put the quality of the consumer experience at risk. Standard CDN capability includes the ability to cache files closer to the end users to speed up delivery of static files. However, this does not help to improve the loading speed of dynamic web applications and APIs, which return unique data to each user along with request that cannot be cached. With Azure CDN Dynamic Site Acceleration (DSA), the performance of web pages with dynamic content is significantly improved.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;DSA includes a variety of techniques that benefit the latency and performance of dynamic content.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;strong&gt;Route / network optimizations&lt;/strong&gt;: The fastest and most reliable path to your origin to retrieve and deliver dynamic content is constantly evaluated. Content is delivered using optimized network protocols and by using the optimal network delivery path to ensure Internet congestion points and unnecessarily long routes are avoided.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;strong&gt;TCP optimization&lt;/strong&gt;: Internet communications over TCP are not optimized for performance. With DSA, a number of TCP optimizations are applied to improve the performance of the delivery, such as keeping connections open longer and reusing them for additional requests. These optimizations accelerate connection setup, increase the packet transmission rate, and reduce packet loss.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;strong&gt;Resource prefetching&lt;/strong&gt; (Akamai only): Based on user behavior and access patterns, the CDN learns which assets are required by the application and preemptively fetches content from origin and brings it closer to the user so it can be delivered faster.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;strong&gt;Adaptive&amp;nbsp;Image Compression &lt;/strong&gt;(Akamai only): Continuously monitor internet conditions to identify slower network connections, to automaticaly compress and resize JPEG images to deliver the most optimal image based on connection speed.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;To learn how to use this feature and for more details, please visit the &lt;a href="https://docs.microsoft.com/en-us/azure/cdn/cdn-dynamic-site-acceleration"&gt;documentation page.&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;DSA is available today as an optimization on top of an Azure CDN from Akamai. This feature will be coming to Verizon standard and premium profiles in the near future. Note that there are &lt;a href="http://azure.microsoft.com/en-us/pricing/details/cdn/" target="_blank"&gt;additional fees&lt;/a&gt; associated with the DSA optimization type, unlike the media and large file optimization types which are available without additional cost.&lt;/p&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/dynamic-site-acceleration/#comments</comments>
      <link>https://azure.microsoft.com/blog/dynamic-site-acceleration/</link>
      <dc:creator>Richard Li</dc:creator>
    </item>
    <item>
      <guid
        isPermaLink="false">build-custom-video-ai-workflows-with-video-indexer-and-logic-apps</guid>
      <category>Developer</category>
      <category>Media Services &amp; CDN</category>
      <category>Cognitive Services</category>
      <title>Build custom video AI workflows with Video Indexer and Logic Apps</title>
      <description>With the Video Indexer connector on Logic Apps, you can now set up workflows connecting your most used apps to your Video Indexer account and further automate processes. In this blog, I will walk you through an example of using the Video Indexer connector in a Logic App...</description>
      <pubDate>Wed, 19 Jul 2017 09:00:05 Z</pubDate>
      <content:encoded>&lt;p&gt;With the Video Indexer connector for Logic Apps, you can now set up custom workflows connecting your most used apps with Video Indexer to further automate the process of extracting deep insights from your videos.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;In this blog, I will walk you through an example of using the Video Indexer connector in a Logic App to set up a workflow where whenever a new video file is created in a specific folder of your OneDrive, the video is automatically uploaded and indexed. Once completed, the insights of the newly indexed video will be stored as a JSON file in the designated folder of your OneDrive.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Limitations to note&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;Currently, there is a 50 MB file size limit for OneDrive and other storage connectors to trigger. The Video Indexer connector allows you to upload a video via file content from a storage connector or a shared access signature URL. Although there is currently no way to access a URL to the video from storage connectors, we are in the process of adding in this feature on OneDrive, OneDrive for Business, and Azure Storage. Once implemented, we will be able to work with videos larger than 50 MB. However, we have to work with the limit for now.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Setting up the Logic App&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;To begin, log into your Azure Portal and create a new Logic App. You can follow the tutorial to learn &lt;a href="https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-create-a-logic-app" target="_blank"&gt;how to create and deploy a new Logic App&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Once you have created the Logic App, go to the &lt;strong&gt;Logic Apps Designer &lt;/strong&gt;and select &lt;strong&gt;Blank Logic App&lt;/strong&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;nbsp;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/69a14472-bf19-4a62-879e-18e5fff7f39e.png"&gt;&lt;img alt="0" border="0" height="417" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/e294b86b-dc45-4302-a17c-354b4245ef7a.png" style="background-image: none; display: inline; border-image: none" title="0" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The first thing we will need is a &amp;ldquo;Trigger&amp;rdquo; that will fire off an event when a new file has been created in your OneDrive folder for videos.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;In the search bar for connectors and triggers, search for &amp;ldquo;OneDrive&amp;rdquo;. You will see options for OneDrive (consumer) and OneDrive for Business. You can do either based on the account that you have or want because they have similar steps. In this tutorial, I am using OneDrive.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Click on the &lt;strong&gt;OneDrive connector&lt;/strong&gt;. This will show you all of the triggers available for OneDrive.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/71cb22f1-0af7-4cdb-af42-483e157562ce.png"&gt;&lt;img alt="1" border="0" height="314" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/ddfae985-29b2-4781-9f7b-cf3de43b7d78.png" style="background-image: none; display: inline; border-image: none" title="1" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Select &lt;strong&gt;&amp;ldquo;When a file is created&amp;rdquo;&lt;/strong&gt;. This will fire the trigger in the Logic App each time a new file is dropped into the designated OneDrive folder. Once complete you will be prompted to sign into your OneDrive account.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/8ae74b7d-0f1b-4285-a528-308bbfec3a23.png"&gt;&lt;img alt="21" border="0" height="225" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/ba93e829-74dc-4ff4-a16f-be1029777909.png" style="background-image: none; display: inline; border-image: none" title="21" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;After you have signed in, you will see the trigger and its different fields. For the &lt;strong&gt;Folder&lt;/strong&gt; field, click on the folder icon and navigate to your folder for videos. I have selected a folder for videos on my OneDrive called &amp;ldquo;Video&amp;rdquo;.&amp;nbsp; You can choose any folder that is appropriate or create a new folder specific to your own workflow. It is important to note that this folder should only have video or audio files. Any other files will result in an upload error in the Video Indexer connector.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You can also set how often you want the trigger to check whether a file has been created in the specified folder. Under the &amp;ldquo;How often do you want to check for items?&amp;rdquo; section, I have set &lt;strong&gt;Frequency&lt;/strong&gt; to Minute and &lt;strong&gt;Interval&lt;/strong&gt; to 3 to have my trigger check every 3 minutes.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/7089d7de-9030-4487-928d-00526274ea66.png"&gt;&lt;img alt="image" border="0" height="286" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/65c006c6-620f-4b25-8400-b2423f6b90b9.png" style="background-image: none; display: inline; border-image: none" title="image" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Next, you will need to set an action that uploads the video that has been created in your OneDrive folder to your Video Indexer portal. Click &lt;strong&gt;Next Step &lt;/strong&gt;and select &lt;strong&gt;Add an action&lt;/strong&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/79bd013f-3931-43fc-be74-0e39dee0c9ed.png"&gt;&lt;img alt="24" border="0" height="222" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/047b0aa8-4fd2-4fe6-9b14-1be003333195.png" style="background-image: none; display: inline; border-image: none" title="24" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Search for &amp;ldquo;Video Indexer&amp;rdquo; and select the Video Indexer connector. You should see the different actions listed out. We currently do not have any triggers for the Video Indexer, however, triggers will come later when support for WebHooks will be added to the Video Indexer API.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/4c83b83b-5b55-4bef-9e6b-76f1c0687d97.png"&gt;&lt;img alt="3" border="0" height="389" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/a597e70a-3a54-4817-9ff1-6a2170538bd6.png" style="background-image: none; display: inline; border-image: none" title="3" width="500"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/6705051d-8e0d-406d-a5b1-9e1f1c9aab07.png"&gt;&lt;img alt="35" border="0" height="389" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/a2d9c497-3ccf-403f-92dc-46ebfb971a42.png" style="background-image: none; display: inline; border-image: none" title="35" width="475"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You should see two options for uploading a video onto your Video Indexer portal. One is called &lt;strong&gt;Upload video and index &lt;/strong&gt;and will allow you to upload a video using file content data. The other option is called &lt;strong&gt;Upload video and index (using a URL)&lt;/strong&gt; and will allow you to upload a video using an URL. Both options will automatically index the videos upon upload.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;In this tutorial we will be uploading the video using file content data, so select &lt;strong&gt;Upload video and index&lt;/strong&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You should be prompted to create a connection using your Video Indexer API Key. Enter in a name for the connection as well as your API Key. You can follow the tutorial to &lt;a href="https://azure.microsoft.com/en-us/blog/gettingstartedwiththevideoindexerapi/" target="_blank"&gt;learn how to subscribe to the Video Indexer API and how to access your API key&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/456d9542-c7b8-4b32-9952-6bd8b9165a1e.png"&gt;&lt;img alt="4" border="0" height="257" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/619461ff-aa00-4745-ba63-9f814437aa15.png" style="background-image: none; display: inline; border-image: none" title="4" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Upon creating the connection, it should open the &lt;strong&gt;Upload video and index&lt;/strong&gt; action. If you click on any of the fields, you should see response elements from the OneDrive trigger. For the &lt;em&gt;File Content&lt;/em&gt; field, select the &lt;strong&gt;File content &lt;/strong&gt;response element. For &lt;em&gt;Video Name&lt;/em&gt;, you can select the &lt;strong&gt;File name&lt;/strong&gt; response element or type any name that you want. Set your privacy as you want. Here, I have set privacy to &amp;ldquo;Private&amp;rdquo;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/9ba2326b-8384-42ac-a193-6fb2d8b2473b.png"&gt;&lt;img alt="5" border="0" height="354" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/9c7d8105-c740-41b3-a8b3-82eb67359669.png" style="background-image: none; display: inline; border-image: none" title="5" width="700"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Upon clicking &lt;strong&gt;Show advanced options&lt;/strong&gt;, you will see many more fields that you can fill out to provide more information on your video. I will be leaving them blank here because they are not required fields.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/eb64f59b-7e82-4af8-91ae-5f56abf2a45e.png"&gt;&lt;img alt="554" border="0" height="393" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/913c1b30-4393-4ed7-ac6f-85c3c3e75cc5.png" style="background-image: none; display: inline; border-image: none" title="554" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The &lt;strong&gt;Upload video and index&lt;/strong&gt; action returns the id of the video upon upload, however, that does not mean that the indexing has been completed. For this, you need to add in a check that will only let the Logic App move forward if the video has been fully processed. Select &lt;strong&gt;New Step&lt;/strong&gt; and then &lt;strong&gt;More&lt;/strong&gt;. You can then select &lt;strong&gt;Add a do until&lt;/strong&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/1774d0c0-1c01-459d-a439-570336ed4713.png"&gt;&lt;img alt="7" border="0" height="262" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/efa6fb7a-664f-4ed3-9ae9-13f370cac87c.png" style="background-image: none; display: inline; border-image: none" title="7" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You should now see an Until loop. Within the Until loop, select &lt;strong&gt;Add an action&lt;/strong&gt;. Search for the Video Indexer connector again and select the action &lt;strong&gt;Get processing state&lt;/strong&gt;. For the &lt;em&gt;Video Id&lt;/em&gt; field, select the &lt;strong&gt;Video Id&lt;/strong&gt; response element from &lt;strong&gt;Upload video and index&lt;/strong&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&amp;nbsp; &lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/c28efd51-5bb9-4f1d-80a6-dc58558495cf.png"&gt;&lt;img alt="9" border="0" height="343" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/14f0ea1d-7d32-4006-9471-a9277e69fac2.png" style="background-image: none; display: inline; border-image: none" title="9" width="500"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;For the &amp;ldquo;Choose a value&amp;rdquo; field in the Until loop, select the &lt;strong&gt;State&lt;/strong&gt; response element from &lt;strong&gt;Get processing state&lt;/strong&gt;. For the field that says &amp;ldquo;Choose a value&amp;rdquo;, type in &amp;ldquo;Processed&amp;rdquo;. The State being &amp;ldquo;Processed&amp;rdquo; is an indication that the indexing of the video is complete.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/0b451227-5474-4985-8685-81212854769e.png"&gt;&lt;img alt="image" border="0" height="432" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/8312407d-b892-4bff-8420-a04e60f838d8.png" style="background-image: none; display: inline; border-image: none" title="image" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Within the Until loop and after the&lt;strong&gt; Get processing state action&lt;/strong&gt;, select &lt;strong&gt;Add an action&lt;/strong&gt;. Search for and select the &lt;strong&gt;Delay&lt;/strong&gt; action (it is a part of the Schedule connector). You will need to set the count and unit fields to essentially determine how often to check if the &lt;strong&gt;State&lt;/strong&gt; is &amp;ldquo;Processed&amp;rdquo;. Here, I have set &lt;strong&gt;Count&lt;/strong&gt; to &amp;ldquo;3&amp;rdquo; and &lt;strong&gt;Unit&lt;/strong&gt; to &amp;ldquo;Minute&amp;rdquo; to check every 3 minutes.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/54e904e5-f5f5-4fb6-bdb6-eb2cae0c64a9.png"&gt;&lt;img alt="11" border="0" height="510" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/e45f1e12-34e0-4996-abd2-c3330701e39d.png" style="background-image: none; display: inline; border-image: none" title="11" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;The next step is to attain the insights of the newly processed video. Outside of the Until loop, select &lt;strong&gt;New Step&lt;/strong&gt; and search for the Video Indexer Connector. Select the &lt;strong&gt;Get video breakdown&lt;/strong&gt; action. For the &lt;em&gt;Video Id&lt;/em&gt; field, select the &lt;strong&gt;Video Id&lt;/strong&gt; response element from &lt;strong&gt;Upload video and index&lt;/strong&gt;. This action will give you all of the insights of the video.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/04b9f2be-0c19-40a1-9424-401fc5070436.png"&gt;&lt;img alt="12" border="0" height="288" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/910e8c07-6cca-4839-9609-fca7ede5584d.png" style="background-image: none; display: inline; border-image: none" title="12" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Now that you have the insights of the video through &lt;strong&gt;Get video breakdown&lt;/strong&gt;, you will now create a file with the new insights and store it in an appropriate folder of your OneDrive.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Select &lt;strong&gt;Add an action&lt;/strong&gt; and search for the OneDrive connector. Select the action &lt;strong&gt;Create file&lt;/strong&gt;. For the &lt;em&gt;Folder path&lt;/em&gt; field, click on the folder icon and navigate to the appropriate folder for storing the insights of your video. I chose my folder called &amp;ldquo;Insights&amp;rdquo;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;For the &lt;em&gt;File name&lt;/em&gt; field, type or select a name for the new text file. Here, I selected the &lt;strong&gt;Name&lt;/strong&gt; response element from the &lt;strong&gt;Get video breakdown &lt;/strong&gt;and typed in &amp;ldquo;Insights&amp;rdquo; after. For the &lt;em&gt;File content&lt;/em&gt; field, select &lt;strong&gt;Summarized Insights&lt;/strong&gt; or whichever specific response element from &lt;strong&gt;Get video breakdown&lt;/strong&gt; that you want to store. Learn more about the &lt;a href="https://docs.microsoft.com/en-us/azure/cognitive-services/video-indexer/video-indexer-output-json" target="_blank"&gt;response elements&lt;/a&gt;.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/f3a0918c-1eb4-4df9-a9fd-ceb612ea2df6.png"&gt;&lt;img alt="13" border="0" height="428" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/ae2b0bcb-9393-411d-91ac-082390c1ad4b.png" style="background-image: none; display: inline; border-image: none" title="13" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;Save your logic app, and you are done! You should now test the logic app.&lt;/p&gt;&#xD;
&#xD;
&lt;h2&gt;Testing the Logic App&lt;/h2&gt;&#xD;
&#xD;
&lt;p&gt;Start by selecting &lt;strong&gt;Run. &lt;/strong&gt;Then, to trigger the logic app, upload a video file onto the OneDrive video folder that you specified in the trigger. As mentioned before, there is a 50 MB file size limit for the OneDrive trigger, so you will need to select your video file appropriately.&amp;nbsp;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You should be able to look at the&lt;strong&gt; &lt;/strong&gt;run details of your Logic App under the &lt;strong&gt;Run History &lt;/strong&gt;section of the &lt;strong&gt;Overview&lt;/strong&gt; page of your logic app.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;&lt;a href="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/5904c56d-5cbb-4755-9f17-5e6c9c24d55c.png"&gt;&lt;img alt="14" border="0" height="428" src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/8241f0c7-1af6-4ff3-8896-1b8851e1fe0b.png" style="background-image: none; display: inline; border-image: none" title="14" width="500"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You are now ready to test out many different combinations of workflows using the Video Indexer connector to find what works best to make your processes automated and more efficient.&lt;/p&gt;&#xD;
&#xD;
&lt;p&gt;You can create custom workflows that integrate live and on demand workflows in Media Services with Video Indexer using &lt;a href="https://github.com/Azure-Samples/media-services-dotnet-functions-integration"&gt;samples from the Media Services GitHub site&lt;/a&gt; and the Video Indexer connector as long as your video files are within the 50 MB limit for now. You can also create a Logic App to push the insights from Video Indexer into systems like Cosmos DB and use Azure Search to query across the metadata or to join the insights to your own custom metadata.&lt;/p&gt;&#xD;
</content:encoded>
      <comments>https://azure.microsoft.com/blog/build-custom-video-ai-workflows-with-video-indexer-and-logic-apps/#comments</comments>
      <link>https://azure.microsoft.com/blog/build-custom-video-ai-workflows-with-video-indexer-and-logic-apps/</link>
      <dc:creator>Anika  Zaman</dc:creator>
    </item>
  </channel>
</rss>