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:
Przepływy pracy użycia: Visual Studio lub 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:
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.
W 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ść 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:
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.
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ść 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:
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.
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.
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
Dodaj akcję Inicjowanie zmiennej, aby utworzyć zmienną całkowitą o nazwie Count z ustawioną
0
wartością początkową na .Aby iterować poszczególne załączniki, 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żdej pętli wybierz pozycję Dodaj akcję.
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.
W akcji Zmiennej przyrostowej z listy Nazwa wybierz zmienną Count . Ustaw właściwość Value na
1
.W pętli dodaj dowolną akcję, która wysyła liczbę załączników. W akcji uwzględnij wartość zmiennej Count , na przykład:
Po zakończeniu zapisz przepływ pracy. 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 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:
Znajdź i wybierz akcję Ustaw zmienną .
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:
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 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:
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
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" ]
}
}
},