Udostępnij za pośrednictwem


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 przebiegów 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.

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

  • Pobierz lub odwołuj się do wartości zmiennej.
  • Zwiększanie lub zmniejszanie zmiennej za pomocą stałej wartości, określanej również jako przyrost i zmniejszenie.
  • Inna wartość do przypisania do zmiennej.
  • Wstawianie lub dołączanie wartości zmiennej jako ostatniego elementu 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łania do zmiennej należy użyć nazwy zmiennej jako tokenu, a nie nazwy akcji, co zwykle stanowi odwołanie do danych wyjściowych akcji.

Ważne

Domyślnie iteracji 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, który uruchamia przepływ pracy.

    Aby można było dodać akcje do tworzenia zmiennych i pracy z nimi, przepływ pracy musi zaczynać 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.

Poniższe kroki korzystają z witryny Azure Portal, ale z odpowiednim rozszerzeniem 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:

Inicjuj zmienną

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 zakresie, warunkach i pętli.

  1. W witrynie 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ści Wymagania Wartość Opis
    Nazwa Tak <variable-name> Nazwa zmiennej do zwiększenia
    Type Tak <variable-type> Typ danych w zmiennej
    Wartość Nie. <start-value> Początkowa wartość zmiennej

    Porada: Mimo że opcjonalnie 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 witrynę Azure Portal, przepływ pracy odbiorcy i akcję o nazwie Initialize zmiennej.

  4. Teraz kontynuuj dodawanie akcji, które chcesz wykonać w danym scenariuszu. Gdy skończysz, na pasku narzędzi projektanta wybierz 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ą w danym momencie. Każda nowa zmienna wymaga akcji Inicjuj zmienną.

W poniższych przykładach przedstawiono 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ąg

"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łania do zmiennej należy użyć nazwy zmiennej jako tokenu, a nie nazwy akcji, co zwykle stanowi odwołanie do danych wyjściowych akcji.

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

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

Zwiększ zmienną

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

  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ści Wymagania Wartość Opis
    Nazwa Tak <variable-name> Nazwa zmiennej do zwiększenia
    Wartość Nie <increment-value> Wartość używana do przyrostu zmiennej. Domyślna wartość to 1.

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

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

    Zrzut ekranu przedstawiający witrynę Azure Portal, przepływ pracy użycia i akcję o nazwie Zmienna przyrostowa.

  3. Gdy wszystko będzie gotowe, zapisz proces. 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 razy działania pętli. W tym przykładzie pokazano, jak utworzyć zmienne dla tego zadania i używać ich, tworząc pętlę, która zlicza załączniki w wiadomości e-mail.

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

    W tym przykładzie jest używany wyzwalacz programu Office 365 Outlook, ustawiony na Gdy nadejdzie nowa wiadomość e-mail. Ten wyzwalacz można skonfigurować tak, aby był uruchamiany tylko wtedy, gdy wiadomość e-mail ma załączniki. Można jednak użyć dowolnego łącznika, który sprawdza nowe wiadomości e-mail z załącznikami, na przykład łą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
    • Dołącz załączniki

    Zrzut ekranu przedstawiający witrynę 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ą wartością początkową .0

  4. Aby wykonać iterację każdego załącznika, 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 przedstawiający 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żdego wybierz pozycję Dodaj akcję.

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

    Uwaga

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

  8. W akcji Przyrost zmiennej z listy Nazwa wybierz zmienną Liczba. Ustaw właściwość Value na 1.

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

  9. W obszarze pętli dodaj każdą akcję wysyłaną przez liczbę załączników. W akcji należy uwzględnić wartość zmiennej Liczba, na przykład:

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

  10. Gdy wszystko będzie gotowe, zapisz proces. 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 powoduje uruchomienie wyzwalacza 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 Dla każdej pętli wraz z akcją Zmiennej przyrostowej 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" ]
      }
   }
},

Zmniejsz zmienną

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

W poniższej tabeli opisano informacje dotyczące akcji zmiennej Dekrementacji:

Właściwości Wymagania Wartość Opis
Nazwa Tak <variable-name> Nazwa zmiennej do zmniejszenia
Wartość Nie <increment-value> Wartość używana do zmniejszenia zmiennej. Domyślna wartość wynosi 1.

Porada: chociaż jest to opcjonalne, polecamy ustawić tę wartość, aby zawsze znać konkretną wartość zmniejszania 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 w celu przyrostowania zmiennej z następującymi wyjątkami:

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

  2. Podaj nazwę zmiennej i wartość, którą chcesz przypisać. Zarówno nowa wartość, jak i zmienna muszą mieć ten sam typ danych. Ta 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ści Wymagania Wartość Opis
Nazwa Tak <variable-name> Nazwa zmiennej do zmiany
Wartość Tak <new-value> Wartość do przypisania 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 współbieżnie. W takich przypadkach spróbuj ustawić pętlę, aby uruchamiać 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 Degree of Parallelism (Stopień równoległości) do 1.

Jeśli przełączysz się z projektanta do widoku kodu, w poniższym przykładzie pokazano, jak w definicji przepływu pracy jest wyświetlana akcja Ustaw zmienną , 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łączenie do zmiennej

W przypadku zmiennych przechowujących 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łączenie do zmiennej ciągu
    • Dołączenie do zmiennej tablicy
  2. Podaj wartość, która ma być dołączana jako ostatni element ciągu lub tablicy. Wartość ta jest wymagana.

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

Właściwości Wymagania Wartość Opis
Nazwa Tak <variable-name> Nazwa zmiennej do zmiany
Wartość Tak <append-value> Wartość do dołączania, 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 kolejną 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