Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Azure Logic Apps (Consumption + Standard)
Aby przechowywać i przekazywać wartości w swoim workflow, twórz zmienne. Zmienne obsługują wartości całkowitoliczbowe, zmiennoprzecinkowe, logiczne, łańcuchowe, tablice i obiekty.
Na przykład zmienne mogą pomóc w śledzeniu liczby przebiegów pętli. Aby przejść przez tablicę lub sprawdzić tablicę dla konkretnego elementu, użyj zmiennej, aby odwołać się do numeru indeksu dla każdego elementu tablicy.
Po utworzeniu zmiennej wybierz zadanie:
- Tworzenie zmiennej
- Uzyskaj wartość zmiennej
- Zwiększanie zmiennej
- Zmniejszanie zmiennej
- Zmień wartość zmiennej
- Dołącz do ciągu znaków lub zmiennej tablicowej
- Przykład: Liczenie załączników e-mailowych w pętli
Wymagania wstępne
Konto i subskrypcja platformy Azure. Uzyskaj bezpłatne konto platformy Azure.
Przepływ pracy aplikacji logiki, w którym chcesz utworzyć zmienną, wraz z wyzwalaczem uruchamiającym ten przepływ pracy.
Zanim będziesz mógł dodać akcje do tworzenia i pracy ze zmiennymi, Twój workflow musi zaczynać się od wyzwalacza jako pierwszego kroku.
Ten przewodnik korzysta z portalu Azure, ale możesz też użyć Visual Studio Code oraz odpowiadającego mu rozszerzenia Azure Logic Apps, aby budować workflowy aplikacji logic:
- Przepływy pracy użycia: Visual Studio Code
- Standardowe przepływy pracy: Visual Studio Code
Rozważania dotyczące pracy ze zmiennymi
Domyślnie dla każdej pętli iteracje działają równolegle. Aby upewnić się, że zmienne w pętli dają przewidywalne wyniki, uruchom pętlę sekwencyjnie.
Zmienne istnieją i są globalne tylko w obrębie przepływu pracy, który je tworzy.
Zmienne zachowują wartości między iteracjami pętli tylko w obrębie tego przepływu pracy.
Odniesienie do zmiennej według jej nazwy, a nie nazwy akcji, która ją stworzyła, co jest zwykłym sposobem odniesienia do wyników akcji.
Inicjuj zmienną
Aby utworzyć zmienną, dodaj akcję Inicjalizuj zmienną do swojego workflow. Możesz deklarować zmienne tylko na poziomie globalnym workflow, nie w zakresach, warunkach i pętlach.
W portalu Azure otwórz przepływ pracy aplikacji logiki w projektancie.
W projektancie dodaj akcję o nazwie Inicjowanie zmiennej, wykonując ogólne kroki odpowiednie dla typu przepływu pracy:
Podaj następujące informacje o zmiennej:
Właściwości Wymagane Wartość Opis Nazwa Tak < nazwa-zmiennej> Nazwa zmiennej. Typ Tak < typ zmiennej> Typ danych zmiennej. Wartość Nie. < wartość początkowa> Wartość początkowa dla twojej zmiennej.
Wskazówka: Chociaż jest to opcjonalne, zgodnie z dobrą praktyką ustaw wartość, aby zawsze znać wartość początkową zmiennej.Aby utworzyć więcej niż jedną zmienną jednocześnie, wybierz pozycję Dodaj zmienną.
Na przykład akcja zmiennej Initialize zawiera nazwę zmiennej, typ danych oraz wartość początkową:
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 widoku projektanta do widoku kodu, poniższy przykład pokazuje, jak akcja Initialize variable jest wyświetlana w definicji przepływu pracy w formacie JavaScript Object Notation (JSON):
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "Count",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
}
}
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 float
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myFloatVariable",
"type": "float",
"value": 1.99999
}
]
},
"runAfter": {}
}
},
Zmienna tekstowa
"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 łańcuchami znaków
"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, użyj variables() funkcji w projektantze workflow oraz 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 za pomocą funkcji variables(). Funkcja string() zwraca zawartość zmiennej w formacie ciągu: "1, 2, 3, red".
@{string(variables('myArrayVariable'))}
Zwiększ wartość zmiennej
Aby zwiększyć lub inkrementować zmienną o określoną stałą wartość, dodaj do przepływu pracy akcję Inkrementuj zmienną. Ta akcja działa tylko w przypadku zmiennych typu liczba całkowita i liczba zmiennoprzecinkowa.
W projektancie dodaj akcję o nazwie Increment variable, wykonując ogólne kroki w zależności od typu przepływu pracy:
Podaj następujące informacje dotyczące tej akcji:
Właściwości Wymagane Wartość Opis Nazwa Tak < nazwa-zmiennej> Nazwa zmiennej, która ma zostać zwiększona. Wartość Nie. < wartość inkrementacji> Wartość używana do zwiększania 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: Liczenie załączników e-mailowych w pętli
W tym przykładzie inicjalizujesz licznik od zera, zwiększasz licznik raz dla każdego załącznika e-maila i zwracasz całkowitą liczbę załączników.
W portalu Azure utwórz zasób aplikacji logiki 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 użyto wyzwalacza Office 365 Outlook o nazwie Po otrzymaniu nowej wiadomości e-mail. Ustaw ten wyzwalacz, aby uruchamiał się tylko wtedy, gdy e-mail zawiera 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 wybierz dla następujących właściwości opcję Tak, aby sprawdzać załączniki i przekazywać je do przepływu pracy:
- Tylko z załącznikiem
- Dołącz załączniki
Dodaj akcję Inicjalizuj zmienną, aby stworzyć zmienną całkowitą o nazwie Count, która zaczyna się od 0.
W projektancie dodaj akcję o nazwie For each, wykonując ogólne kroki odpowiednie dla typu przepływu pracy:
W pętli postępuj zgodnie z tymi krokami:
- Wybierz w polu o nazwie Wybierz wyjście z poprzednich kroków , aby zobaczyć opcje wejścia.
- Wybierz ikonę błyskawicy, aby wyświetlić listę zawartości dynamicznej.
- Z listy w obszarze Po nadejściu nowej wiadomości e-mail wybierz pozycję Załączniki.
Właściwość Attachments przekazuje do pętli tablicę zawierającą załączniki wiadomości e-mail z danych wyjściowych wyzwalacza, aby przepływ pracy mógł po niej iterować.
W pętli Dla każdego wybierz pozycję Dodaj akcję.
W projektancie dodaj akcję o nazwie Increment variable, wykonując ogólne kroki w zależności od typu przepływu pracy:
Uwaga
Upewnij się, że akcja Increment variable znajduje się 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 pętli dodaj dowolną akcję, która zwraca 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, na pasku narzędzi projektanta wybierz pozycję Uruchom>Uruchom, aby ręcznie uruchomić przepływ pracy.
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 instancję przepływu pracy. W rezultacie przepływ pracy wysyła wiadomość lub e-mail z informacją o liczbie załączników w wysłanej przez Ciebie wiadomości e-mail.
Jeśli przełączysz się z projektanta do widoku kodu, poniższy przykład pokazuje, jak pętla For each jest przedstawiona wraz z akcją Increment variable w definicji przepływu pracy 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 wartość zmiennej
Aby zmniejszyć lub dekrementować zmienną o określoną wartość, wykonaj kroki dla inkrementacji zmiennej, z tą różnicą, że zamiast tego dodaj do przepływu pracy akcję Dekrementuj zmienną. Ta akcja działa tylko w przypadku zmiennych typu liczba całkowita i liczba zmiennoprzecinkowa.
W poniższej tabeli opisano informacje dotyczące akcji „Dekrementacja zmiennej”:
| Właściwości | Wymagane | Wartość | Opis |
|---|---|---|---|
| Nazwa | Tak | < nazwa-zmiennej> | Nazwa zmiennej do zmniejszenia |
| Wartość | Nie. | < zmniejsz-wartość> | 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, poniższy przykład pokazuje, jak akcja Dekrementuj zmienną pojawia się w definicji przepływu pracy, która ma format 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 następujące informacje dotyczące tej akcji:
Właściwości Wymagane Wartość Opis Nazwa Tak < nazwa-zmiennej> Zmiana nazwy zmiennej. Wartość Tak < nowa wartość> Wartość do przypisania do zmiennej. Upewnij się, że zarówno zmienna, jak i nowa wartość mają ten sam typ danych. Ta wartość jest wymagana, ponieważ ta akcja nie ma wartości domyślnej. 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:
Wybierz pętlę, aby wyświetlić okienko informacji, a następnie wybierz pozycję Ustawienia.
W sekcji Ogólne w obszarze Kontrolka współbieżności zmień ustawienie z Wyłączone na Włączone.
Przeciągnij suwak Stopień równoległości do 1.
Jeśli przełączysz się z widoku projektanta na kod view, poniższy przykład pokazuje, jak akcja Set variable pojawia się w definicji workflow, która jest w formacie JSON, i zmienia aktualną wartość zmiennej Count na inną:
"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. Postępuj zgodnie z krokami przyrostu 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łącz do zmiennej tekstowej
- Dołącz do zmiennej tablicowej
Podaj wartość, która ma być dołączana jako ostatni element ciągu lub tablicy.
Właściwości Wymagane Wartość Opis Nazwa Tak < nazwa-zmiennej> Zmiana nazwy zmiennej. Wartość Tak < dodaj-wartość> Wartość, którą chcesz dodać, 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. Wynikiem jest zaktualizowana zmienna zawierająca 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" ]
}
}
},