Tworzenie zmiennych do przechowywania wartości i zarządzania nimi w usłudze Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie + Standardowa)

W tym przewodniku z instrukcjami pokazano, jak tworzyć zmienne i pracować z nich, aby można było przechowywać wartości i używać ich w przepływie pracy aplikacji logiki. Na przykład zmienne mogą pomóc w śledzeniu liczby uruchomień pętli. Aby wykonać iterację w tablicy lub sprawdzić tablicę dla określonego elementu, możesz użyć zmiennej w celu odwołania się do numeru indeksu dla każdego elementu tablicy.

Można tworzyć zmienne dla typów danych, takich jak liczba całkowita, liczba zmiennoprzecinkowa, wartość logiczna, ciąg, tablica i obiekt. Po utworzeniu zmiennej można wykonywać inne zadania, na przykład:

  • Pobierz lub odwołaj się do wartości zmiennej.
  • Zwiększ lub zmniejsz zmienną o stałą wartość, znaną również jako przyrost i dekrementacja.
  • Przypisz inną wartość do zmiennej.
  • Wstaw lub dołącz wartość zmiennej jako ostatni element w ciągu lub tablicy.

Zmienne istnieją i są globalne tylko w ramach wystąpienia przepływu pracy, które je tworzy. Ponadto są one utrwalane we wszystkich iteracjach pętli wewnątrz wystąpienia przepływu pracy. W przypadku odwoływanie się do zmiennej użyj nazwy zmiennej jako tokenu, a nie nazwy akcji, która jest zwykle sposobem odwoływanie się do danych wyjściowych akcji.

Ważne

Domyślnie iteracje w pętli For each są uruchamiane równolegle. Gdy używasz zmiennych w pętlach, uruchom pętlę sekwencyjnie , aby zmienne zwracały przewidywalne wyniki.

Wymagania wstępne

  • Konto i subskrypcja platformy Azure. Jeśli nie masz subskrypcji, utwórz bezpłatne konto platformy Azure.

  • Przepływ pracy aplikacji logiki, w którym chcesz utworzyć zmienną i wyzwalacz uruchamiający przepływ pracy.

    Zanim będzie można dodać akcje do tworzenia zmiennych i pracy z nimi, przepływ pracy musi rozpoczynać się od wyzwalacza jako pierwszego kroku w przepływie pracy. Aby uzyskać więcej informacji, zobacz Tworzenie przepływu pracy za pomocą wyzwalacza lub akcji.

W poniższych krokach użyto Azure Portal, ale przy użyciu odpowiedniego rozszerzenia usługi Azure Logic Apps można również użyć następujących narzędzi do tworzenia przepływów pracy aplikacji logiki:

W zależności od tego, czy masz przepływ pracy Zużycie, czy Standardowy, wykonaj odpowiednie kroki:

Inicjowanie zmiennej

Możesz utworzyć zmienną i zadeklarować jej typ danych i wartość początkową przy użyciu jednej akcji w przepływie pracy. Zmienne można zadeklarować tylko na poziomie globalnym, a nie w zakresach, warunkach i pętlach.

  1. W Azure Portal otwórz przepływ pracy w projektancie.

  2. W projektancie wykonaj następujące ogólne kroki, aby dodać akcję o nazwie Initialize zmiennej.

  3. Podaj następujące informacje o zmiennej:

    Właściwość Wymagany Wartość Opis
    Nazwa Tak <nazwa-zmiennej> Nazwa zmiennej do inkrementacji
    Typ Tak <typ zmiennej> Typ danych zmiennej
    Wartość Nie <wartość początkowa> Początkowa wartość zmiennej

    Porada: Mimo że opcjonalna, ustaw wartość jako najlepsze rozwiązanie, aby zawsze znać wartość początkową zmiennej.

    W poniższym przykładzie przedstawiono początkowe wartości dla tej przykładowej zmiennej:

    Zrzut ekranu przedstawiający Azure Portal, przepływ pracy użytkownika i akcję o nazwie Inicjuj zmienną.

  4. Teraz kontynuuj dodawanie akcji, które chcesz wykonać w danym scenariuszu. Gdy wszystko będzie gotowe, na pasku narzędzi projektanta wybierz pozycję Zapisz.

Jeśli przełączysz się z projektanta do widoku kodu, w poniższym przykładzie pokazano, jak akcja Inicjowanie zmiennej jest wyświetlana w definicji przepływu pracy, która jest w formacie JavaScript Object Notation (JSON):

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ 
            {
               "name": "Count",
               "type": "Integer",
               "value": 0
            }
         ]
      },
      "runAfter": {}
   }
},

Uwaga

Mimo że akcja Inicjowanie zmiennej ma "variables" obiekt, który jest ustrukturyzowany jako tablica, akcja może utworzyć tylko jedną zmienną jednocześnie. Każda nowa zmienna wymaga pojedynczej akcji Inicjowanie zmiennej .

W poniższych przykładach pokazano inne typy zmiennych:

Zmienna logiczna

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myBooleanVariable",
               "type": "boolean",
               "value": false
            }
         ]
      },
      "runAfter": {}
   }
},

Zmienna zmienn

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myFloatVariable",
               "type": "float",
               "value": 1.99999
            }
         ]
      },
      "runAfter": {}
   }
},

Zmienna ciągu

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myStringVariable",
               "type": "string",
               "value": "lorem ipsum"
            }
         ]
      },
      "runAfter": {}
   }
},

Zmienna obiektu

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "MyObjectVariable",
               "type": "object",
               "value": {
                  "ProductItem": {
                     "Name": "myProductName",
                     "ProductID": "000000"
                  }
               }
            }
         ]
      },
      "runAfter": {}
   }
},

Tablica z liczbami całkowitymi

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myArrayVariable",
               "type": "array",
               "value": [1, 2, 3]
            }
         ]
      },
      "runAfter": {}
   }
},

Tablica z ciągami

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myArrayVariable",
               "type": "array",
               "value": ["red", "orange", "yellow"]
            }
         ]
      },
      "runAfter": {}
   }
},

Pobieranie wartości zmiennej

Aby pobrać lub odwołać się do zawartości zmiennej, możesz użyć funkcji variables() w projektancie przepływu pracy i edytorze widoku kodu. W przypadku odwoływanie się do zmiennej użyj nazwy zmiennej jako tokenu, a nie nazwy akcji, która jest zwykle sposobem odwoływanie się do danych wyjściowych akcji.

Na przykład następujące wyrażenie pobiera elementy ze zmiennej tablicowej utworzonej w tym przewodnikuvariables() przy użyciu funkcji . Funkcja string() zwraca zawartość zmiennej w formacie ciągu: "1, 2, 3, red"

@{string(variables('myArrayVariable'))}

Zmienna inkrementacji

Aby zwiększyć lub zwiększyć zmienną o określoną wartość stałą, dodaj akcję Zmiennej inkrementacji do przepływu pracy. Ta akcja działa tylko w przypadku zmiennych całkowitych i zmiennoprzecinkowych.

  1. W projektancie przepływu pracy wykonaj następujące ogólne kroki, aby dodać akcję o nazwie Zmienna przyrostowa.

  2. Podaj następujące informacje dotyczące tej akcji:

    Właściwość Wymagany Wartość Opis
    Nazwa Tak <nazwa-zmiennej> Nazwa zmiennej do przyrostu
    Wartość Nie <increment-value> Wartość używana do przyrostowania zmiennej. Wartość domyślna to 1.

    Porada: Mimo że ta wartość jest opcjonalna, należy ustawić tę wartość jako najlepsze rozwiązanie, aby zawsze znać określoną wartość przyrostową zmiennej.

    W poniższym przykładzie przedstawiono przykładowe wartości dla tej akcji:

    Zrzut ekranu przedstawia Azure Portal, przepływ pracy zużycie i akcję o nazwie Zmienna przyrostowa.

  3. Po zakończeniu zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.

Jeśli przełączysz się z projektanta do widoku kodu, w poniższym przykładzie pokazano, jak akcja zmiennej przyrostowej jest wyświetlana w definicji przepływu pracy, która jest w formacie JSON:

"actions": {
   "Increment_variable": {
      "type": "IncrementVariable",
      "inputs": {
         "name": "Count",
         "value": 1
      },
      "runAfter": {}
   }
},

Przykład: Tworzenie licznika pętli

Zmienne są często używane do zliczania liczby przebiegów pętli. W tym przykładzie pokazano, jak można tworzyć zmienne dla tego zadania i używać ich, tworząc pętlę, która zlicza załączniki w wiadomości e-mail.

  1. W Azure Portal utwórz zasób aplikacji logiki Zużycie z pustym przepływem pracy. Dodaj wyzwalacz, który sprawdza nowe wiadomości e-mail i wszelkie załączniki.

    W tym przykładzie użyto wyzwalacza Office 365 Outlook dla polecenia Po nadejściu nowej wiadomości e-mail. Ten wyzwalacz można skonfigurować tak, aby był uruchamiany tylko wtedy, gdy wiadomość e-mail zawiera załączniki. Można jednak użyć dowolnego łącznika, który sprawdza nowe wiadomości e-mail z załącznikami, takimi jak łącznik Outlook.com.

  2. W wyzwalaczu, aby sprawdzić załączniki i przekazać te załączniki do przepływu pracy, wybierz pozycję Tak dla następujących właściwości:

    • Tylko z załącznikiem
    • Uwzględnij załączniki

    Zrzut ekranu przedstawia Azure Portal, przepływ pracy zużycie i właściwości wybrane do sprawdzania i dołączania załączników.

  3. Dodaj akcję Inicjowanie zmiennej, aby utworzyć zmienną całkowitą o nazwie Count z ustawioną 0wartością początkową na .

  4. Aby iterować poszczególne załączniki, wykonaj następujące ogólne kroki, aby dodać akcję o nazwie Dla każdej pętli.

  5. W pętli wybierz wewnątrz pola o nazwie Wybierz dane wyjściowe z poprzednich kroków. Po wyświetleniu listy zawartości dynamicznej w obszarze Po nadejściu nowej wiadomości e-mail wybierz pozycję Załączniki.

    Zrzut ekranu przedstawia przepływ pracy zużycie, dla każdej pętli, otwartą listę zawartości dynamicznej i wybrane dane wyjściowe Załączników.

    Właściwość Załączniki przekazuje tablicę zawierającą załączniki wiadomości e-mail z danych wyjściowych wyzwalacza do pętli przepływu pracy w celu iteracji.

  6. W pętli Dla każdej pętli wybierz pozycję Dodaj akcję.

  7. Wykonaj następujące ogólne kroki, aby dodać akcję o nazwie zmienną przyrostową do pętli.

    Uwaga

    Upewnij się, że akcja zmiennej przyrostowej jest wyświetlana wewnątrz pętli. Jeśli akcja pojawi się poza pętlą, przeciągnij akcję do pętli.

  8. W akcji Zmiennej przyrostowej z listy Nazwa wybierz zmienną Count . Ustaw właściwość Value na 1.

    Zrzut ekranu przedstawia przepływ pracy Zużycie z wybraną zmienną o nazwie Count.

  9. W pętli dodaj dowolną akcję, która wysyła liczbę załączników. W akcji uwzględnij wartość zmiennej Count , na przykład:

    Zrzut ekranu przedstawia przepływ pracy Zużycie i akcję, która wysyła wyniki.

  10. Po zakończeniu zapisz przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Zapisz.

Testowanie przepływu pracy

  1. Aby ręcznie wyzwolić przepływ pracy, wykonaj odpowiedni krok:

    Przepływ pracy użycia

    Na pasku narzędzi przepływu pracy projektanta wybierz pozycję Uruchom wyzwalacz>Uruchom , aby ręcznie uruchomić przepływ pracy.

    Standardowy przepływ pracy

    W menu przepływu pracy wybierz pozycję Przegląd. Na pasku narzędzi wybierz pozycję Uruchom>.

  2. Wyślij wiadomość e-mail z co najmniej jednym załącznikiem do konta e-mail użytego w tym przykładzie.

    Ten krok uruchamia wyzwalacz przepływu pracy, który tworzy i uruchamia wystąpienie przepływu pracy. W związku z tym przepływ pracy wysyła wiadomość lub wiadomość e-mail zawierającą liczbę załączników w wysłanej wiadomości e-mail.

Jeśli przełączysz się z projektanta do widoku kodu, w poniższym przykładzie pokazano, jak pojawi się pętla For each wraz z akcją Zmiennej inkrementacji w definicji przepływu pracy, która jest w formacie JSON:

"actions": {
   "For_each": {
      "type": "Foreach",
      "actions": {
         "Increment_variable": {
           "type": "IncrementVariable",
            "inputs": {
               "name": "Count",
               "value": 1
            },
            "runAfter": {}
         }
      },
      "foreach": "@triggerBody()?['Attachments']",
      "runAfter": {
         "Initialize_variable": [ "Succeeded" ]
      }
   }
},

Zmienna dekrementacji

Aby zmniejszyć lub zmniejszyć zmienną o określoną wartość stałą, wykonaj kroki inkrementacji zmiennej , z tą różnicą, że zamiast tego należy dodać akcję Zmiennej dekrementacji do przepływu pracy. Ta akcja działa tylko w przypadku zmiennych całkowitych i zmiennoprzecinkowych.

W poniższej tabeli opisano informacje dotyczące akcji Zmiennej dekrementacji :

Właściwość Wymagany Wartość Opis
Nazwa Tak <nazwa-zmiennej> Nazwa zmiennej do dekrementacji
Wartość Nie <increment-value> Wartość dekrementacji zmiennej. Wartość domyślna to jedna.

Porada: Mimo że opcjonalna, należy ustawić tę wartość jako najlepsze rozwiązanie, aby zawsze znać konkretną wartość dekrementacji zmiennej.

Jeśli przełączysz się z projektanta do widoku kodu, w poniższym przykładzie pokazano, jak akcja zmiennej dekrementacji jest wyświetlana w definicji przepływu pracy, która jest w formacie JSON:

"actions": {
   "Decrement_variable": {
      "type": "DecrementVariable",
      "inputs": {
         "name": "Count",
         "value": 1
      },
      "runAfter": {}
   }
},

Ustaw zmienną

Aby przypisać inną wartość do istniejącej zmiennej, wykonaj kroki umożliwiające zwiększanie zmiennej z następującymi wyjątkami:

  1. Znajdź i wybierz akcję Ustaw zmienną .

  2. Podaj nazwę i wartość zmiennej, którą chcesz przypisać. Zarówno nowa wartość, jak i zmienna muszą mieć ten sam typ danych. Wartość jest wymagana, ponieważ ta akcja nie ma wartości domyślnej.

W poniższej tabeli opisano informacje dotyczące akcji Ustaw zmienną :

Właściwość Wymagany Wartość Opis
Nazwa Tak <nazwa-zmiennej> Nazwa zmiennej do zmiany
Wartość Tak <nowa wartość> Wartość, którą chcesz przypisać do zmiennej. Oba muszą mieć ten sam typ danych.

Uwaga

Jeśli nie zwiększasz lub dekrementujesz zmiennych, zmiana zmiennych wewnątrz pętli może spowodować nieoczekiwane wyniki, ponieważ pętle są uruchamiane równolegle lub domyślnie współbieżnie. W takich przypadkach spróbuj ustawić pętlę, aby uruchamiać ją sekwencyjnie. Jeśli na przykład chcesz odwołać się do wartości zmiennej wewnątrz pętli i oczekiwać tej samej wartości na początku i na końcu tego wystąpienia pętli, wykonaj następujące kroki, aby zmienić sposób działania pętli:

  1. W pętli znajdź i otwórz ustawienia pętli.

  2. Na podstawie typu przepływu pracy wykonaj odpowiednie kroki:

    • Zużycie: zmień ustawienie Kontrolka współbieżności z Wyłączone na Włączone.

    • Standardowa: W obszarze Ogólne zmień ustawienie Kontrolka współbieżności z Wyłączone na Włączone.

  3. Przeciągnij suwak Stopień równoległości do 1.

Jeśli przełączysz się z projektanta do widoku kodu, w poniższym przykładzie pokazano, jak akcja Ustaw zmienną jest wyświetlana w definicji przepływu pracy, która jest w formacie JSON:

Poniższy przykład zmienia bieżącą wartość zmiennej Count na inną wartość:

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
               "name": "Count",
               "type": "Integer",
               "value": 0
          } ]
      },
      "runAfter": {}
   },
   "Set_variable": {
      "type": "SetVariable",
      "inputs": {
         "name": "Count",
         "value": 100
      },
      "runAfter": {
         "Initialize_variable": [ "Succeeded" ]
      }
   }
},

Dołączanie do zmiennej

W przypadku zmiennych, które przechowują ciągi lub tablice, można wstawić lub dołączyć wartość zmiennej jako ostatni element w tych ciągach lub tablicach. Możesz wykonać kroki w celu przyrostowania zmiennej z następującymi wyjątkami:

  1. Znajdź i wybierz jedną z tych akcji na podstawie tego, czy zmienna jest ciągiem, czy tablicą:

    • Dołączanie do zmiennej ciągu
    • Dołączanie do zmiennej tablicowej
  2. Podaj wartość, która ma być dołączana jako ostatni element w ciągu lub tablicy. Ta wartość jest wymagana.

W poniższej tabeli opisano informacje dotyczące akcji Dołączanie do... :

Właściwość Wymagany Wartość Opis
Nazwa Tak <nazwa-zmiennej> Nazwa zmiennej do zmiany
Wartość Tak <append-value> Wartość, którą chcesz dołączyć, która może mieć dowolny typ

Jeśli przełączysz się z projektanta do widoku kodu, w poniższym przykładzie pokazano, jak akcja Dołącz do zmiennej tablicowej jest wyświetlana w definicji przepływu pracy, która jest w formacie JSON.

Poniższy przykład tworzy zmienną tablicową i dodaje inną wartość jako ostatni element w tablicy. Wynik jest zaktualizowaną zmienną zawierającą tę tablicę: [1,2,3,"red"]

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
            "name": "myArrayVariable",
            "type": "Array",
            "value": [1, 2, 3]
         } ]
      },
      "runAfter": {}
   },
   "Append_to_array_variable": {
      "type": "AppendToArrayVariable",
      "inputs": {
         "name": "myArrayVariable",
         "value": "red"
      },
      "runAfter": {
        "Initialize_variable": [ "Succeeded" ]
      }
   }
},

Następne kroki