Azure Neural Text-to-Speech updates: 51 new voices added to the portfolio

Azure Neural Text-to-Speech updates: 51 new voices added to the portfolio

This article is contributed. See the original author and article here.

This post was co-authored with Qinying Liao, Sheng Zhao, Gang Wang, Yueying Liu


 


Neural Text to Speech (Neural TTS), a powerful speech synthesis capability of Cognitive Services on Azure, enables you to convert text to lifelike speech which is close to human-parity.  Since its launch, we have seen it widely adopted in a variety of scenarios by many Azure customers, from voice assistants to audio content creation. More and more customers are asking for richer and more diverse choices of synthetic voices for different use cases.


 


Today, we are excited to announce that Azure Neural TTS has added 51 new voices for a total of 129 neural voices across 54 languages/locales. With this release, we provide at least one male and one female voice for customers to choose in each language/locale.  In total, Azure TTS now enables developers to reach millions more people with more than 200 voices available in standard and neural TTS.


 


What’s new


 


Neural TTS has now been extended to support 51 new voices, which will bring to you the capability to have both male and female voices in each language for your apps. You can hear samples of the voices below, or try them with your own text in our demo.


 


46 new voices are generally available


 


In total 46 new voices are released across the 49 locales that are generally available in the Azure data centers/regions that support neural TTS (see the full list of Azure regions here).


 















































































































































































































































































































































Locale



Language 



Gender



Voice



Sample audio



ar-EG



Arabic (Egypt)



Male



ShakirNeural



البركان هو أكثر ما في الطبيعــة إثارة للرهبة



ar-SA



Arabic (Saudi Arabia)



Male



HamedNeural



الناس مَعادن، تصدأ بالملل، وتتمدد بالأمل، وتنكمش بالألم



bg-BG



Bulgarian (Bulgary)



Male



BorislavNeural



Шофьорът задължително трябва да вземе експерт за второ мнение, за да провери дали всички системи на автомобила работят нормално.



ca-ES



Catalan (Spain)



Male



EnricNeural



Les activitats docents tenen lloc al campus del Poblenou.



ca-ES



Catalan (Spain)



Female



JoanaNeural



L’artista està considerat com el pintor de les multituds.



cs-CZ



Czech (Czech)



Male



AntoninNeural



Opravdový zasvěcenec ví, že nejmocnějším tajemstvím je to, které nemá žádný obsah.



da-DK



Danish (Denmark)



Male



JeppeNeural



61 procent af de kandidatstuderende er kvinder.



de-AT



German (Austria)



Male



JonasNeural



Das ist das letzte lange Pfingstwochenende für Schülerinnen und Schüler.



de-CH



German (Switzerland)



Male



JanNeural



Eine Person, die sich bei Brandausbruch im oberen Stock aufgehalten hat, hat sich noch rechtzeitig in Sicherheit bringen können.



el-GR



Greek (Greece)



Male



NestorasNeural



Συγκλονιστικές εξελίξεις και ανατροπές στα επόμενα επεισόδια .



en-CA



English (Canada)



Male



LiamNeural



He had held the position since 2010.



en-IE



English (Ireland)



Male



ConnorNeural



Life is short, think before you talk.



en-IN



English (India)



Male



PrabhatNeural



Sometimes you can see snow on the mountains.



fi-FI



Finnish (Finland)



Male



HarriNeural



Yhtiö kertoi loppuvuoden tuloksestaan ennakkotietoja.



fi-FI



Finnish (Finland)



Female



SelmaNeural



Hevoset ovat uljaita ja nopeita eläimiä.



fr-CH



French (Switzerland)



Male



FabriceNeural



La Suisse comptera 5,6 millions (12%) de personnes actives en 2050.



he-IL



Hebrew (Israel)



Male



AvriNeural



הוא אמר שהמספרים מדאיגים בשל עצמם, אבל בכל הישיבות שלנו המסקנה היא שזה סימפטום למשהו רחב יותר.



hi-IN



Hindi (India)



Male



MadhurNeural



सिद्धार्थ ने भी शहनाज के साथ इस इवेंट की फोटो शेयर की है।



hr-HR



Croatian (Croatia)



Male



SreckoNeural



Video je pregledan gotovo 70 tisuća puta, a neki od obožavatelja su mu u komentarima pisali kako ih je motivirao.



hu-HU



Hungarian (Hungary)



Male



TamasNeural



A lakóhelyem nagyon komfortos.



id-ID



Indonesian (Indonesia)



Female



GadisNeural



Inflasi ringan terjadi apabila kenaikan harga berada di bawah angka 10% setahun.



ms-MY



Malay (Malaysia)



Male



OsmanNeural



Setiap individu perlu memakai topeng muka ketika berada di luar.



nb-NO



Norwegian (Bokmål, Norway)



Male



FinnNeural



Jansson forteller at den svenske øya tar imot rundt 8000 besøkende fra Norge årlig.



nb-NO



Norwegian (Bokmål, Norway)



Female



PernilleNeural



For en fantastisk forestilling!



nl-NL



Dutch (Netherlands)



Female



FennaNeural



De afstand tussen Rotterdam en Breda is ongeveer 45 km.



nl-NL



Dutch (Netherlands)



Male



MaartenNeural



Zij heeft haar studie al een tijdje geleden afgerond.



pl-PL



Polish (Poland)



Female



AgnieszkaNeural



To już nie będzie to samo, będzie drożej.



pl-PL



Polish (Poland)



Male



MarekNeural



Na wszelki wypadek sprawdź, czy coś cię jednak nie zaskoczy.



pt-PT



Portuguese (Portugal)



Male



DuarteNeural



Para a aprovação do exame, tenho de ter pelo menos 80% das respostas corretas.



pt-PT



Portuguese (Portugal)



Female



RaquelNeural



A minha mãe ensinou-me que devo ter respeito por todos, mas principalmente pelos mais velhos.



ro-RO



Romanian (Romania)



Male



EmilNeural



Actul normativ se axează pe instituirea de măsuri active, 41,5 % din salariul de bază la revenirea din șomaj tehnic.



ru-RU



Russian (Russia)



Male



DmitryNeural



Ранее посольство требовало от агентства опровержения статьи о количестве больничных коек в России.



ru-RU



Russian (Russia)



Female



SvetlanaNeural



Изменений в организме людей, попробовавших еду без приправ, не произошло.



sk-SK



Slovak (Slovakia)



Male



LukasNeural



Zápis 45 % je v skutočnosti iba skratka pre zlomok.



sl-SI



Slovenian (Slovenia)



Male



RokNeural



Zloraba bonov in dvigovanje cen turističnih storitev je nesprejemljivo ravnanje.



sv-SE



Swedish (Sweden)



Male



MattiasNeural



Båda lagen bjöd på riktigt bra hockey och skapade flera riktigt bra målchanser.



sv-SE



Swedish (Sweden)



Female



SofieNeural



Det fanns ingen trafik runt torget.



ta-IN



Tamil (India)



Male



ValluvarNeural



எவ்வளவு அருமையான பாடல் அது!



te-IN



Telugu (India)



Male



MohanNeural



అబ్బ, ఎంత పెద్ద భవనమో!



th-TH



Thai (Thailand)



Male



NiwatNeural



ธุรกิจขายอาหารเป็นธุรกิจที่ได้รับความนิยมมากที่สุด



tr-TR



Turkish (Turkey)



Male



AhmetNeural



Sosyal mesafeye büyük ölçüde riayet eden çocuklar, başta mahalle parkları olmak üzere sahiller ve oyun parklarında enerji attı.



vi-VN



Vietnamese (Vietnam)



Male



NamMinhNeural



Nhiệt độ hiện tại ở thành phố Hồ Chí Minh là 38 độ C.



zh-HK



Chinese (Cantonese, Traditional)



Female



HiuMaanNeural



抗疫舉措成為安全重啟經濟的重要一環。



zh-HK



Chinese (Cantonese, Traditional)



Male



WanLungNeural



隨着疫情緩和,愈來愈多人回到辦公室上班,但是很多人仍想留在家中工作(work from home)。



zh-TW



Chinese (Taiwanese Mandarin)



Female



HsiaoChenNeural



賭博的勝率應該不到50%。



zh-TW



Chinese (Taiwanese Mandarin)



Male



YunJheNeural



台北車站大廳能不能坐,連日引發正反意見。



 


 


5 new voices are in public preview


 


We have also added 5 male voices in the 5 low-resource languages that have been supported since November. These voices are available in public preview in three Azure regions: EastUS, SouthEastAsia and WestEurope.


 


Hear the samples below:
















































Locale



Language



Gender



Voice Name



Sample audio



et-EE



Estonian (Estonia)



Male



KertNeural



Ametlikku meetodit sellise pettuse avastamiseks ei olegi olemas.



ga-IE



Irish (Ireland)



Male



ColmNeural



Ritheadh próiseas comhairliúcháin faoin scéal sa bhfómhar.



lt-LT



Lithuanian (Lithuania)



Male



LeonasNeural



Aišku, anksčiau ar vėliau paaiškės tos priežastys.



lv-LV



Latvian (Latvia)



Male



NilsNeural



Aizvadīto gadu uzņēmums noslēdzis ar 6,3 miljonu eiro zaudējumiem.



mt-MT



Maltese (Malta)



Male



JosephNeural



Anki tfajjel tal-primarja jaf li l-popolazzjoni tikber fejn hemm il-prosperità.



 


With this release, we now support a total of 129 neural voices across 54 languages/locales. In addition, over 70 standard voices are available in 49 languages/locales. Visit Language support – Speech service – Azure Cognitive Services | Microsoft Docs for the full language and voice list.


garheMS_5-1608027137739.png


 


Continuous voice quality improvement


 


In general, Neural TTS can convert text to lifelike speech, however there are nuances that can always be improved. For example, we have customers who have requested the ability to support a scenario where Katja, our de-DE neural voice, can pronounce English words in the context of a German sentence. This was valuable feedback, and we anticipate a similar need across languages.


 


For German, we observed that our users prefer the voice to handle an English word/phrase as close as the native English pronunciation. To enable a voice model to speak English as a second language, it is normally required that we collect the speech data of the same speaker speaking English besides his/her native language. This is a big challenge as we do not have sufficient multi-language speech data from our German voice talents. By leveraging cross-lingual capability of UNI-TTS, we are able to generate more English pronunciation data with the transferred voice from our German voice talent. Such data is used to improve the quality of the English word/phrase pronunciations for the German Katja voice, so Katja can pronounce English words in a more natural way.


 


The CMOS metric is used to measure the improvement of the English word pronunciation for Katja. Below table shows that the updated model is significantly better in pronouncing English words in the context of a German sentence.


 




















Script Old New
Star Wars – Das Erwachen der Macht




Three Billboards outside Ebbing, Missouri.





 


This improvement has now been released to the Azure Neural TTS service for Katja. Moving forward, we’ll extend this capability to support more languages.


 


Tell us your experience!


 


By offering more voices across more languages and locales, we anticipate developers across the world will be able to build applications that change experiences for millions. Whether you’re building a voice-enabled chatbot or IoT device, an IVR solution, adding read-aloud features to your app, converting e-books to audio books, or even adding Speech to a translation app, you can make all these experiences natural sounding and fun with Neural TTS.


 


Let us know how you are using or plan to use Neural TTS voices in this form. If you prefer, you can also contact us at mstts [at] microsoft.com. We look forward to hearing your experience and developing more compelling services together with you for the developers around the world.


 


Get started


Explore the available voices in this demo


Add voice to your app in 15 minutes


Build a voice-enabled bot


Deploy Azure TTS voices on prem with Speech Containers


Build your custom voice

Tips for Safe Online Shopping

Tips for Safe Online Shopping

Retailers are already preparing for what they hope will be a successful shopping season. Because of COVID-19, it’s likely that we’ll be going online to look for those perfect buys. With so many deals around and what seem like eternal “Black Friday” sales, it’s important to keep some online shopping tips in mind.

So, if you plan to shop from the comfort of your home instead of heading out in person for those doorbuster deals, first, make sure your home computer has the latest antivirus software updated. This will help protect you from hackers and identity thieves. Read more computer safety tips here.

Once you’re ready to shop, make sure you:

  • Take time to compare products. To get the best deal, compare products. Do research online, check product comparison sites, and read online reviews.
  • Check out the seller. Confirm that the seller is legit. Look for reviews about their reputation and customer service, and be sure you can contact the seller if you have a dispute.
  • Look for coupon codes. Search the store’s name with terms like “coupons,” “discounts,” or “free shipping.”
  • Pay by credit card. Paying by credit card gives you added protections. Never mail cash or wire money to online sellers. If the seller asks you to pay this way, it could be a scam.
  • Use secure checkout. Before you enter your credit card information online, check that the website address starts with “https.” The “s” stands for secure. If you don’t see the “s,” don’t enter your information.
  • Keep records of online transactions until you get the goods, confirm you got what you ordered, and that you’re satisfied you won’t have to return the item.

Check out more ways to ensure hassle-free online shopping here. And if you spot a fraud while shopping online, report it to the FTC at ReportFraud.ftc.gov.

How to use Logic App with Azure Active Directory Authorization Policies

How to use Logic App with Azure Active Directory Authorization Policies

This article is contributed. See the original author and article here.

 


Mobarqaw_1-1607955738591.png


 


In this article, I will demonstrate how to call a logic app with the Aouth2 approach


The problem that I going to solve is to provide a gatekeeper page that will not download files from the Storage account unless the user is authenticated.


 


I will utilize a static web site on the storage account to host small HTTP pages and javascripts

Spoiler (Highlight to read)

the Idea of a Static site is to provide simple hosting and the same solution can be hosted on the app service as well 
the Idea of a Static site is to provide simple hosting and the same solution can be hosted on the app service as well 

the web page will be responsible to obtain the Bearer token when the user Sign-in


then it will use this Token to pass it to the logic app  


 

Spoiler (Highlight to read)

I have used the library GitHub – AzureAD/microsoft-authentication-library-for-js: Microsoft Authentication Library (MSAL) for JS to do the authentication 

Create website.


You can create the static by following the Host a static website in Azure Storage | Microsoft Docs


Mobarqaw_2-1607955738597.png


 


 


Create the Active Directory application


 


I have followed the article https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-javascript


Register your application


  1. Sign in to the Azure portal.

  2. If you have access to multiple tenants, use the Directory + subscription filter Mobarqaw_3-1607955738600.png

     


     in the top menu to select the tenant in which you want to register an application.

  3. Search for and select Azure Active Directory.

  4. Under Manage, select App registrations > New registration.

  5. Enter a Name for your application. Users of your app might see this name, and you can change it later.

  6. Under Supported account types, select Accounts in any organizational directory and personal Microsoft accounts.

  7. Select Register. On the app Overview page, note the Application (client) ID value for later use.

  8. Under Platform Configurations, select Add a platform. A panel opens on the left. There, select the Web Applications region.

  9. Still on the left, set the Redirect URI value to [the static website URL] Then, select Access Token and ID Token.

  10. Select Configure.


 


1.2.2        Build the HTML page with msal.js


Create HTML with the below content


 


 


 


 


 

!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
  <title>Demo for using Logic app using Azure Active Directory Authorization Policies </title>
  <link rel="SHORTCUT ICON" href="./favicon.svg" type="image/x-icon">

  <!-- msal.min.js can be used in the place of msal.js; included msal.js to make debug easy -->
  https://alcdn.msauth.net/lib/1.4.4/js/msal.js

  <!-- msal.js with a fallback to backup CDN -->
  <script type="text/javascript">
    if (typeof Msal === 'undefined') document.write(unescape("%3Cscript src='https://alcdn.msftauth.net/lib/1.4.4/js/msal.js' type='text/javascript' %3E%3C/script%3E"));
  </script>

  <!-- adding Bootstrap 4 for UI components  -->
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
    integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
</head>

<body>
  <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
    <a class="navbar-brand" href="/">Storage account Gate keeper using logic app </a>
    <div class="btn-group ml-auto dropleft">
      <button type="button" id="signIn" class="btn btn-secondary" onclick="signIn()">Sign In</button>
      <button type="button" id="signOut" class="btn btn-success d-none" onclick="signOut()">Sign Out</button>
    </div>
  </nav>
  <br>
  <h5 class="card-header text-center">this is a demo only site </h5>
  <br>
  <div class="row" style="margin:auto">
    <div id="card-div" class="col-md-3 d-none">
      <div class="card text-center">
        <div class="card-body">
          <h5 class="card-title" id="welcomeMessage">Please sign-in to see your profile and read your mails</h5>
          <div id="profile-div"></div>
          <br>
          <br>
          <button class="btn btn-primary" id="seeProfile" onclick="downloadFile()">Download File</button>
          <br>
        </div>
      </div>
    </div>
    <br>
    <br>
    <div class="col-md-4">
      <div class="list-group" id="list-tab" role="tablist">
      </div>
    </div>
    <div class="col-md-5">
      <div class="tab-content" id="nav-tabContent">
      </div>
    </div>
  </div>
  <br>
  <br>
  <!-- importing bootstrap.js and supporting js libraries -->
  https://code.jquery.com/jquery-3.4.1.slim.min.js
  https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js
  <!-- importing app scripts (load order is important) -->
  http://./authConfig.js
  http://./ui.js
  http://./authPopup.js

</body>

</html>

 


 


 


 


 


 


 


Create file authPopup.js


 


 


 


 


 

// Create the main myMSALObj instance
// configuration parameters are located at authConfig.js
const myMSALObj = new Msal.UserAgentApplication(msalConfig);
var Bearer = ''
let searchParams = new URLSearchParams(window.location.search)
let fileParam = searchParams.get('file')
function signIn() {
  myMSALObj.loginPopup(loginRequest)
    .then(loginResponse => {
      console.log("id_token acquired at: " + new Date().toString());
      console.log(loginResponse);

      if (myMSALObj.getAccount()) {
        Bearer = loginResponse.idToken.rawIdToken;
        showWelcomeMessage(myMSALObj.getAccount());
      }
    }).catch(error => {
      console.log(error);
    });
}

function signOut() {
  myMSALObj.logout();
}

//endpoint, token, callback
function downloadFile() {

  const headers = new Headers();
  const bearer = `Bearer ${Bearer}`;

  headers.append("Authorization", bearer);
  headers.append("FileName", fileParam);

  const options = {
    method: "post",
    headers: headers
  };
  fetch(logicAppUrl, options)
    .then(resp => resp.blob())
    .then(blob => {
      const url = window.URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.style.display = 'none';
      a.href = url;
      // the filename you want
      a.download = fileParam;
      document.body.appendChild(a);
      a.click();
      window.URL.revokeObjectURL(url);
      alert('your file has downloaded!'); // or you know, something with better UX...
    })
    .catch(error => console.log(error))
}

 


 


 


 


authConfig.js


 


 


 


 

 
// Config object to be passed to Msal on creation.
// For a full list of msal.js configuration parameters, 
// visit https://azuread.github.io/microsoft-authentication-library-for-js/docs/msal/modules/_authenticationparameters_.html
const msalConfig = {
  auth: {
    clientId: "7ebe8908-7acd-4e20-b1f4-24715b364cf0",
    authority: "https://login.microsoftonline.com/common",
    redirectUri: "https://largfile.z6.web.core.windows.net",
  },
  cache: {
    cacheLocation: "sessionStorage", // This configures where your cache will be stored
    storeAuthStateInCookie: false, // Set this to "true" if you are having issues on IE11 or Edge
  }
};  
  
// Add here the scopes to request when obtaining an access token for MS Graph API
// for more, visit https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-core/docs/scopes.md
const loginRequest = {
  scopes: ["openid", "profile", "User.Read"]
};

const logicAppUrl='https://prod-39.eastus.logic.azure.com:443/workflows/92083fac9d2c4805b153907db6976f86/triggers/manual/paths/invoke?api-version=2016-10-01'

 


 


 


 


Creating the logic app

 


The logic app will receive the request using HTTP and will pass the file name to the storage account action


Mobarqaw_4-1607955738602.png


 


 


1.3.1        Enable logic app Azure Active Directory Authorization Policies


Make the issuer https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0  The GUID that indicates that the user is a consumer user from a Microsoft account is 9188040d-6c67-4c5b-b112-36a304b66dad for information at


https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens


 


 


Mobarqaw_5-1607955738604.png


 


More information on Secure access and data – Azure Logic Apps | Microsoft Docs


 


the HTML and JavaScript attached 

Build hybrid and multicloud architectures with Azure hybrid solution architectures

Build hybrid and multicloud architectures with Azure hybrid solution architectures

This article is contributed. See the original author and article here.

This past September at Ignite 2020, we made a ton of new hybrid announcements. And not only did new products go into GA and Preview, we showed how customers have been using our hybrid solutions every day in their own on-premises, multi-cloud, and multi-edge environments.  


Organizations such as Africa’s TalkingFerguson, HaivisionKPMGRxR Realty, and Siemens Healthineers have been using Azure Arc and Azure Stack to bring Azure to any infrastructure and modernize on-premises datacenters. As more customers adopt these solutions, we are excited to share the new Hybrid and Multicloud Architectures section in Architecture Center – which is part of our Docs website – for how to bring these solutions to life.  


 


Azure Hybrid Cloud ArchitecturesAzure Hybrid Cloud Architectures


 


 


 


Azure Arc 


Azure Arc hybrid management and deployment for Kubernetes clusters demonstrates how Azure Arc extends Kubernetes cluster management and configuration across your datacenters, multi-cloud environments, and edge locations. By extending the Azure Resource Manager (ARM) control plane, Azure Arc allows you to project your Kubernetes clusters deployed outside of Azure alongside those in Azure – enabling you to have a single interface to manage the sprawl of clusters. You can register any CNCF Kubernetes cluster that is running and start using services like Azure Monitor and Azure Policy. 


 


Azure ArcAzure Arc


Azure Stack HCI 


 


Use Azure Stack HCI switchless interconnect and lightweight quorum for Remote Office/Branch Office.  In ROBO scenarios, a primary business concern is minimizing costs. Yet many ROBO workloads are of utmost criticality with very little tolerance for downtime. Azure Stack HCI offers the optimal solution by offering both resiliency and cost-effectiveness. Using Azure Stack HCI, you can leverage built-in resiliency of Storage Spaces Direct and Failover Clustering technologies to implement highly-available compute, storage, and network infrastructure for containerized and virtualized ROBO workloads. 


 


Azure Stack HCIAzure Stack HCI


Azure Stack Hub  


 


Back up files and applications on Azure Stack Hub describes an optimized approach to backup and restore of files and applications of VM-based user workloads hosted on Azure Stack Hub. With backup and restore being essential components of any BC/DR strategy, Azure Stack Hub delivers a scalable, resilient, easy-to-manage and cost-efficient backup solution that relies on a bomination and cloud and on-premises components.  


 


Azure Stack HubAzure Stack Hub


 Azure Security Center and Azure Sentinel 


 


Hybrid Security Monitoring using Azure Security Center and Azure Sentinel illustrates how to monitor the security configuration and telemetry of on-premises and Azure operation system workloads. Enabling Azure Security Center to monitor Windows and Linux servers, Azure Stack VMs, and integrating Azure Sentinel with Azure Security Center help you detect, hunt, prevent, and respond to threats across your entire hybrid estate – even resources hosted outside of Azure.   


 


Azure Security CenterAzure Security Center


 


 


To learn more about our Azure hybrid offerings, visit the Azure hybrid solutions page and check out our newest module on Microsoft Learn: Introduction to Azure hybrid cloud services 


Written by Nate Waters, Product Marketing Manager Azure Hybrid.

Changing the behavior of Until Loop when the loop limit is reached

Changing the behavior of Until Loop when the loop limit is reached

This article is contributed. See the original author and article here.

 


The default behavior of the Until Loop is to Succeed if all actions inside it are successful, and depending on your run after behavior, when the Loop limit is reached. This behavior can be changed from the code view of the Logic App.


 


The default behavior:


 


Actions are Successful, the Loop hits the limit and returns Success as all actions were successful. The limit was hit but the result is Success for the Loop.


 


Add loops to repeat actions – Azure Logic Apps | Microsoft Docs


 


Omar_Abu_Arisheh_1-1607967523942.png


 


 


Let’s say you wish to change this behavior and you require the Until Loop to fail when it reaches the Loop Limit.


 


Fail Loop when limit is reached behavior:


 


To let the Until Loop fail when the limit is reached; just add the below in the code behind in the JSON of the Until Loop, this option is not available in the GUI yet (at the time of writing this blog):


 


“operationOptions”: “FailWhenLimitsReached”,


 


clip_image002.png


 


 “Until_2”: {


                “actions”: {


                    “Execute_stored_procedure“: {


                        ………………………..


                    }


                },


                “expression”: “@equals(variables(‘myUntilStop’), true)”,


                “limit”: {


                    “count”: 5,


                    “timeout”: “PT1H”


                },


                “operationOptions“: “FailWhenLimitsReached“,


                “runAfter“: {


                    “Initialize_variable_8”: [


                        “Succeeded


                    ]


                },


                “type”: “Until”


            }


 


 


and this is how to do it! As easy as that.