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:
- Przepływy pracy użycia: Visual Studio Code
- Standardowe przepływy pracy: Visual Studio Code
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.
W witrynie Azure Portal otwórz przepływ pracy w projektancie.
W projektancie wykonaj następujące ogólne kroki, aby dodać akcję o nazwie Initialize zmiennej.
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:
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.
W projektancie przepływu pracy wykonaj następujące ogólne kroki, aby dodać akcję o nazwie Zmienna przyrostowa.
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:
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.
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.
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
Dodaj akcję Inicjowanie zmiennej, aby utworzyć zmienną całkowitą o nazwie Count z ustawioną wartością początkową .
0
Aby wykonać iterację każdego załącznika, wykonaj następujące ogólne kroki, aby dodać akcję o nazwie Dla każdej pętli.
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.
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.
W pętli Dla każdego wybierz pozycję Dodaj akcję.
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.
W akcji Przyrost zmiennej z listy Nazwa wybierz zmienną Liczba. Ustaw właściwość Value na
1
.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:
Gdy wszystko będzie gotowe, zapisz proces. Na pasku narzędzi projektanta wybierz pozycję Zapisz.
Testowanie przepływu pracy
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>.
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:
Znajdź i wybierz opcję Ustaw zmienną.
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:
W pętli znajdź i otwórz ustawienia pętli.
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.
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:
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
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" ]
}
}
},