Azure Logic Apps belirli değerlere göre iş akışının eylemlerini çalıştıran switch deyimleri oluşturmaCreate switch statements that run workflow actions based on specific values in Azure Logic Apps

Nesneleri, ifadeler veya belirteçleri değerlerine göre özel eylemler çalıştıracak şekilde ekleme bir geçiş deyimi.To run specific actions based on the values of objects, expressions, or tokens, add a switch statement. Bu yapı nesne, ifade ya da belirtecinde değerlendirir, sonuç eşleşir ve bu durum için yalnızca belirli eylemleri çalıştıran durum seçer.This structure evaluates the object, expression, or token, chooses the case that matches the result, and runs specific actions only for that case. Switch deyimi çalıştığında, yalnızca bir örnek sonucu eşleşmesi gerekir.When the switch statement runs, only one case should match the result.

Örneğin, e-posta ile bir seçeneğe bağlı olarak farklı adımlar alan bir mantıksal uygulama istediğinizi varsayalım.For example, suppose you want a logic app that takes different steps based on an option selected in email. Bu örnekte, mantıksal uygulama için yeni içerik akışı bir Web sitesinin RSS denetler.In this example, the logic app checks a website's RSS feed for new content. RSS akışında yeni bir öğe göründüğünde mantıksal uygulama bir onaylayana e-posta gönderir.When a new item appears in the RSS feed, the logic app sends email to an approver. Mantıksal uygulama, onaylayan "Onayla" veya "Reddet" seçer bağlı olarak, farklı adımları izler.Based on whether the approver selects "Approve" or "Reject", the logic app follows different steps.

İpucu

Tüm programlama dilleri gibi switch deyimleri yalnızca eşitlik işleçleri destekler.Like all programming languages, switch statements support only equality operators. "Büyüktür", gibi diğer operatörler ihtiyacınız varsa bir koşullu ifade.If you need other relational operators, such as "greater than", use a conditional statement. Çalışmaları belirleyici yürütme davranış sağlamak için dinamik belirteçleri veya ifadeler yerine benzersiz ve statik bir değer içermesi gerekir.To ensure deterministic execution behavior, cases must contain a unique and static value instead of dynamic tokens or expressions.

ÖnkoşullarPrerequisites

  • Azure aboneliği.An Azure subscription. Aboneliğiniz yoksa, ücretsiz bir Azure hesabı için kaydolun.If you don't have a subscription, sign up for a free Azure account.

  • Bu makaledeki örnek Bu örnek mantıksal uygulama oluşturma ile bir Outlook.com veya Office 365 Outlook hesabı.To follow the example in this article, create this sample logic app with an Outlook.com or Office 365 Outlook account.

    1. E-posta göndermek için eylem ekleme bulun ve bunun yerine şu eylemi seçin: Bir onay e-posta GönderWhen you add the action to send email, find and select this action instead: Send an approval email

      "Onay e-posta Gönder" öğesini seçin

    2. Onay e-postası alır kişiye e-posta adresi gibi gerekli alanları belirtin.Provide the required fields, like the email address for the person who gets the approval email. Altında kullanıcı seçenekleri, girin "Onayla, reddet".Under User Options, enter "Approve, Reject".

      E-posta ayrıntılarını girin

Switch deyimi ekleyinAdd switch statement

  1. Bu örnekte, bir switch ifadesi, örnek iş akışı sonuna ekleyin.For this example, add a switch statement at the end your sample workflow. Son adımdan sonra seçin yeni adım.After the last step, choose New step.

    Switch deyimi adımlar arasında eklemek istediğinizde, işaretçiyi switch ifadesi eklemek istediğiniz okun üzerine getirin.When you want to add a switch statement between steps, move the pointer over the arrow where you want to add the switch statement. Seçin artı ( + ) görünür, ardından Eylem Ekle.Choose the plus sign (+) that appears, then choose Add an action.

  2. Arama kutusuna filtreniz olarak "geçiş" girin.In the search box, enter "switch" as your filter. Şu eylemi seçin: Switch - denetimSelect this action: Switch - Control

    Anahtar Ekle

    Switch deyimi bir örneği ve bir varsayılan örneği ile görünür.A switch statement appears with one case and a default case. Varsayılan olarak, en az bir durumu ve varsayılan durumda bir switch ifadesi gerektirir.By default, a switch statement requires at least one case plus the default case.

    Varsayılan boş switch deyimi

  3. İçine tıklayın üzerinde dinamik içerik listesinde görünmesi kutusu.Click inside the On box so that the dynamic content list appears. Bu listeden SelectedOption alan çıktısı gerçekleştirilecek eylemi belirler.From that list, select the SelectedOption field whose output determines the action to perform.

    "SelectedOption" seçin

  4. Burada onaylayan seçer durumlarla için Approve veya Reject, başka bir örneği arasında ekleme çalışması ve varsayılan.To handle the cases where the approver selects Approve or Reject, add another case between Case and Default.

    Başka bir servis talebi Ekle

  5. Bu eylemler için karşılık gelen durumlar ekleyin:Add these actions to the corresponding cases:

    Durum #Case # SelectedOptionSelectedOption EylemAction
    1. durumCase 1 OnaylaApprove Outlook ekleme bir e-posta onaylayan seçildiğinde, RSS öğeyle ilgili ayrıntıların göndermek için eylem Onayla.Add the Outlook Send an email action for sending details about the RSS item only when the approver selected Approve.
    2. durumCase 2 ReddetReject Outlook ekleme bir e-posta diğer onaylayanlar RSS öğesinin reddedildiğini bildiren için eylem.Add the Outlook Send an email action for notifying other approvers that the RSS item was rejected.
    VarsayılanDefault NoneNone Hiçbir eylem gerekmiyor.No action necessary. Bu örnekte, varsayılan durumda boş olduğundan SelectedOption yalnızca iki seçenek vardır.In this example, the Default case is empty because SelectedOption has only two options.

    Tamamlanmış switch deyimi

  6. Mantıksal uygulamanızı kaydedin.Save your logic app.

    Bu örnekte el ile test edin, tercih çalıştırma kadar mantıksal uygulama, yeni RSS öğesi bulur ve bir onay e-posta gönderir.To manually test this example, choose Run until the logic app finds a new RSS item and sends an approval email. Seçin Onayla sonuçlarını gözlemleyin.Select Approve to observe the results.

JSON tanımıJSON definition

Switch deyimi kullanarak bir mantıksal uygulama oluşturdunuz, üst düzey kod tanımı switch deyimi arkasında göz atalım.Now that you created a logic app using a switch statement, let's look at the high-level code definition behind the switch statement.

"Switch": {
   "type": "Switch",
   "expression": "@body('Send_approval_email')?['SelectedOption']",
   "cases": {
      "Case": {
         "actions": {
           "Send_an_email": {}
         },
         "case" : "Approve"
      },
      "Case_2": {
         "actions": {
           "Send_an_email_2": {}
         },
         "case": "Reject"
      }
   },
   "default": {
      "actions": {}
   },
   "runAfter": {
      "Send_approval_email": [
         "Succeeded"
      ]
   }
}
EtiketLabel AçıklamaDescription
"Switch" Okunabilirlik için yeniden adlandırabilirsiniz switch ifadesi adıThe name of the switch statement, which you can rename for readability
"type": "Switch" Eylem switch deyimi olduğunu belirtirSpecifies that the action is a switch statement
"expression" Bu örnekte, her durumda tanımı içinde bildirilen karşı değerlendirilir onayı veren kişinin belirlenen seçenek belirtirIn this example, specifies the approver's selected option that's evaluated against each case as declared later in the definition
"cases" Herhangi bir servis talebi sayısını tanımlar.Defines any number of cases. Her durum için "Case_*" okunabilirlik için yeniden adlandırabilirsiniz bu durumda, varsayılan adıFor each case, "Case_*" is the default name for that case, which you can rename for readability
"case" Switch deyimi için karşılaştırma kullanır. sabit ve benzersiz bir değer olmalıdır bir durumun değer belirtir.Specifies the case's value, which must be a constant and unique value that the switch statement uses for comparison. Hiçbir örnek anahtar ifadesi sonucu, Eylemler eşleşiyorsa "default" bölüm çalıştırılır.If no cases match the switch expression result, the actions in the "default" section are run.

Destek alınGet support

Sonraki adımlarNext steps