Przewodnik dokumentacji schematu dla typów wyzwalaczy i akcji w usłudze Azure Logic Apps
Artykuł
W tej dokumentacji opisano ogólne typy używane do identyfikowania wyzwalaczy i akcji w podstawowej definicji przepływu pracy aplikacji logiki, która została opisana i zweryfikowana przez język definicji przepływu pracy. Aby znaleźć określone wyzwalacze łącznika i akcje, których można używać w aplikacjach logiki, zobacz listę w obszarze Omówienie łączników.
Omówienie wyzwalaczy
Każdy przepływ pracy zawiera wyzwalacz, który definiuje wywołania, które tworzy wystąpienie i uruchamia przepływ pracy. Poniżej przedstawiono ogólne kategorie wyzwalaczy:
Wyzwalacz sondowania, który sprawdza punkt końcowy usługi w regularnych odstępach czasu
Wyzwalacz wypychania, który tworzy subskrypcję punktu końcowego i udostępnia adres URL wywołania zwrotnego, dzięki czemu punkt końcowy może powiadomić wyzwalacz po wystąpieniu określonego zdarzenia lub udostępnieniu danych. Wyzwalacz następnie czeka na odpowiedź punktu końcowego przed uruchomieniem.
Wyzwalacze mają te elementy najwyższego poziomu, chociaż niektóre są opcjonalne:
Typ wyzwalacza, taki jak "Http" lub "ApiConnection"
<
trigger-inputs>
Obiekt JSON
Dane wejściowe definiujące zachowanie wyzwalacza
<
jednostka czasowa>
String
Jednostka czasu, która opisuje, jak często wyzwalacz jest uruchamiany: "Second", "Minute", "Hour", "Day", "Week", "Month"
<
liczba jednostek czasu>
Integer
Wartość określająca, jak często wyzwalacz jest uruchamiany na podstawie częstotliwości, czyli liczby jednostek czasu oczekiwania na ponowne uruchomienie wyzwalacza
Poniżej przedstawiono minimalne i maksymalne interwały:
- Miesiąc: 1–16 miesięcy — dzień: 1–500 dni — godzina: 1–12 000 godzin — minuta: 1–72 000 minut — drugi: 1–999 999 999 sekund
Jeśli na przykład interwał wynosi 6, a częstotliwość to "Miesiąc", cykl wynosi co 6 miesięcy.
Opcjonalne
Wartość
Type
Opis
<
tablica z warunkami>
Tablica
Tablica zawierająca co najmniej jeden warunek określający, czy należy uruchomić przepływ pracy. Dostępne tylko dla wyzwalaczy.
<
opcje konfiguracji środowiska uruchomieniowego>
Obiekt JSON
Zachowanie wyzwalacza środowiska uruchomieniowego można zmienić, ustawiając runtimeConfiguration właściwości. Aby uzyskać więcej informacji, zobacz Ustawienia konfiguracji środowiska uruchomieniowego.
<
splitOn-expression>
String
W przypadku wyzwalaczy, które zwracają tablicę, można określić wyrażenie, które dzieli lub debatuje elementy tablicy na wiele wystąpień przepływu pracy na potrzeby przetwarzania.
<
opcja operacji>
String
Domyślne zachowanie można zmienić, ustawiając operationOptions właściwość . Aby uzyskać więcej informacji, zobacz Opcje operacji.
Lista typów wyzwalaczy
Każdy typ wyzwalacza ma inny interfejs i dane wejściowe, które definiują zachowanie wyzwalacza.
Sprawdza lub sonduje dowolny punkt końcowy. Ten punkt końcowy musi być zgodny z określonym kontraktem 202 wyzwalacza przy użyciu wzorca asynchronicznego lub przez zwrócenie tablicy.
Uruchamia się na podstawie zdefiniowanego harmonogramu. Możesz ustawić przyszłą datę i godzinę wyzwalania tego wyzwalacza. Na podstawie częstotliwości można również określić czasy i dni uruchamiania przepływu pracy.
Ten wyzwalacz sprawdza lub sonduje punkt końcowy przy użyciu interfejsów API zarządzanych przez firmę Microsoft lub "łączników" , aby parametry tego wyzwalacza mogły się różnić w zależności od punktu końcowego. Wiele sekcji w tej definicji wyzwalacza jest opcjonalnych. Zachowanie wyzwalacza zależy od tego, czy są uwzględnione sekcje.
Nazwa połączenia z zarządzanym interfejsem API używanym przez przepływ pracy
metoda
<
typ metody>
String
Metoda HTTP do komunikowania się z zarządzanym interfejsem API: GET, PUT, POST, PATCH, DELETE
path
<
operacja interfejsu API>
String
Operacja interfejsu API do wywołania
recurrence.frequency
<
jednostka czasowa>
String
Jednostka czasu, która opisuje, jak często wyzwalacz jest uruchamiany: Sekunda, Minuta, Godzina, Dzień, Tydzień, Miesiąc
recurrence.interval
<
liczba jednostek czasu>
Integer
Wartość określająca, jak często wyzwalacz jest uruchamiany na podstawie częstotliwości, czyli liczby jednostek czasu oczekiwania na ponowne uruchomienie wyzwalacza
Poniżej przedstawiono minimalne i maksymalne interwały:
- Miesiąc: 1–16 miesięcy - Dzień: 1–500 dni - Godzina: 1–12 000 godzin - Minuta: 1–72 000 minut - Drugi: 1-9,999,999 sekund
Jeśli na przykład interwał wynosi 6, a częstotliwość to Month(Miesiąc), cykl jest powtarzany co 6 miesięcy.
Opcjonalne
Właściwości
Wartość
Type
Opis
retryPolicy
<
zachowanie ponawiania próby>
Obiekt JSON
Dostosowuje zachowanie ponawiania prób dla sporadycznych błędów, które mają kod stanu 408, 429 i 5XX oraz wszelkie wyjątki łączności. Aby uzyskać więcej informacji, zobacz Zasady ponawiania prób.
Kwerendy
<
parametry zapytania>
Obiekt JSON
Wszystkie parametry zapytania do uwzględnienia z wywołaniem interfejsu API. Na przykład "queries": { "api-version": "2018-01-01" } obiekt dodaje ?api-version=2018-01-01 do wywołania .
runtimeConfiguration.concurrency.runs
<
maksymalna liczba przebiegów>
Integer
Domyślnie wystąpienia przepływu pracy działają w tym samym czasie (współbieżnie lub równolegle) do domyślnego limitu. Aby zmienić ten limit, ustawiając nową <wartość licznika> , zobacz Zmienianie współbieżności wyzwalacza.
runtimeConfiguration.maximumWaitingRuns
<
max-runs-queue>
Integer
Jeśli przepływ pracy już uruchamia maksymalną liczbę wystąpień, wszystkie nowe uruchomienia zostaną umieszczone w tej kolejce do domyślnego limitu. Aby zmienić limit domyślny, zobacz Zmienianie limitu oczekujących przebiegów. Aby zmienić maksymalną liczbę wystąpień, określ wartość właściwości runtimeConfiguration.concurrency.runs .
Uwaga: w przypadku ustawienia
splitOn
<
splitOn-expression>
String
W przypadku wyzwalaczy, które zwracają tablice, to wyrażenie odwołuje się do tablicy do użycia, aby można było utworzyć i uruchomić wystąpienie przepływu pracy dla każdego elementu tablicy, zamiast używać pętli "dla każdego".
Na przykład to wyrażenie reprezentuje element w tablicy zwróconej w treści wyzwalacza: @triggerbody()?['value']
operationOptions
<
opcja operacji>
String
Domyślne zachowanie można zmienić, ustawiając operationOptions właściwość . Aby uzyskać więcej informacji, zobacz Opcje operacji.
Dane wyjściowe
Element
Type
Opis
Nagłówki
Obiekt JSON
Nagłówki z odpowiedzi
treść
Obiekt JSON
Treść odpowiedzi
kod stanu
Integer
Kod stanu z odpowiedzi
Przykład
Ta definicja wyzwalacza sprawdza pocztę e-mail każdego dnia w skrzynce odbiorczej dla konta służbowego:
Nazwa połączenia z zarządzanym interfejsem API używanym przez przepływ pracy
<
body-content>
Obiekt JSON
Dowolna zawartość wiadomości, która ma być wysyłana jako ładunek do zarządzanego interfejsu API
Opcjonalne
Wartość
Type
Opis
<
zachowanie ponawiania próby>
Obiekt JSON
Dostosowuje zachowanie ponawiania prób dla sporadycznych błędów, które mają kod stanu 408, 429 i 5XX oraz wszelkie wyjątki łączności. Aby uzyskać więcej informacji, zobacz Zasady ponawiania prób.
<
parametry zapytania>
Obiekt JSON
Wszystkie parametry zapytania do uwzględnienia z wywołaniem interfejsu API
Na przykład "queries": { "api-version": "2018-01-01" } obiekt dodaje ?api-version=2018-01-01 do wywołania .
<
maksymalna liczba przebiegów>
Integer
Domyślnie wystąpienia przepływu pracy działają w tym samym czasie (współbieżnie lub równolegle) do domyślnego limitu. Aby zmienić ten limit, ustawiając nową <wartość licznika> , zobacz Zmienianie współbieżności wyzwalacza.
<
max-runs-queue>
Integer
Gdy przepływ pracy jest już uruchomiony maksymalną liczbę wystąpień, które można zmienić na runtimeConfiguration.concurrency.runs podstawie właściwości, wszystkie nowe uruchomienia są umieszczane w tej kolejce do limitu domyślnego. Aby zmienić limit domyślny, zobacz Zmienianie limitu oczekujących przebiegów.
<
splitOn-expression>
String
W przypadku wyzwalaczy, które zwracają tablice, to wyrażenie odwołuje się do tablicy do użycia, aby można było utworzyć i uruchomić wystąpienie przepływu pracy dla każdego elementu tablicy, zamiast używać pętli "dla każdego".
Na przykład to wyrażenie reprezentuje element w tablicy zwróconej w treści wyzwalacza: @triggerbody()?['value']
<
opcja operacji>
String
Domyślne zachowanie można zmienić, ustawiając operationOptions właściwość . Aby uzyskać więcej informacji, zobacz Opcje operacji.
Przykład
Ta definicja wyzwalacza subskrybuje interfejs API programu Outlook usługi Office 365, udostępnia adres URL wywołania zwrotnego do punktu końcowego interfejsu API i czeka, aż punkt końcowy odpowie po nadejściu nowej wiadomości e-mail.
Metoda służąca do wysyłania żądania wychodzącego: "GET", "PUT", "POST", "PATCH" lub "DELETE"
uri
<
Http-or-HTTPS-endpoint-URL>
String
Adres URL punktu końcowego HTTP lub HTTPS, w którym chcesz wysłać żądanie wychodzące. Maksymalny rozmiar ciągu: 2 KB
W przypadku usługi lub zasobu platformy Azure ta składnia identyfikatora URI zawiera identyfikator zasobu i ścieżkę do zasobu, do którego chcesz uzyskać dostęp.
frequency
<
jednostka czasowa>
String
Jednostka czasu, która opisuje, jak często wyzwalacz jest uruchamiany: "Second", "Minute", "Hour", "Day", "Week", "Month"
interval
<
liczba jednostek czasu>
Integer
Wartość określająca, jak często wyzwalacz jest uruchamiany na podstawie częstotliwości, czyli liczby jednostek czasu oczekiwania na ponowne uruchomienie wyzwalacza
Poniżej przedstawiono minimalne i maksymalne interwały:
- Miesiąc: 1–16 miesięcy — dzień: 1–500 dni — godzina: 1–12 000 godzin — minuta: 1–72 000 minut — drugi: 1–999 999 999 sekund
Jeśli na przykład interwał wynosi 6, a częstotliwość to "Miesiąc", cykl wynosi co 6 miesięcy.
Opcjonalne
Właściwości
Wartość
Type
Opis
headers
<
nagłówek-zawartość>
Obiekt JSON
Wszelkie nagłówki, które należy dołączyć do żądania
Wszystkie parametry zapytania, które należy użyć w żądaniu
Na przykład "queries": { "api-version": "2018-01-01" } obiekt dodaje ?api-version=2018-01-01 do żądania.
body
<
body-content>
Obiekt JSON
Zawartość wiadomości, która ma być wysyłana jako ładunek z żądaniem
authentication
<
authentication-type-and-property-values>
Obiekt JSON
Model uwierzytelniania używany przez żądanie do uwierzytelniania żądań wychodzących. Aby uzyskać więcej informacji, zobacz Dodawanie uwierzytelniania do wywołań wychodzących. Poza usługą Scheduler obsługiwana authority jest właściwość . Jeśli nie zostanie określona, wartość domyślna to https://management.azure.com/, ale można użyć innej wartości.
retryPolicy > type
<
zachowanie ponawiania próby>
Obiekt JSON
Dostosowuje zachowanie ponawiania prób dla sporadycznych błędów, które mają kod stanu 408, 429 i 5XX oraz wszelkie wyjątki łączności. Aby uzyskać więcej informacji, zobacz Zasady ponawiania prób.
runs
<
maksymalna liczba przebiegów>
Integer
Domyślnie wystąpienia przepływu pracy działają w tym samym czasie (współbieżnie lub równolegle) do domyślnego limitu. Aby zmienić ten limit, ustawiając nową <wartość licznika> , zobacz Zmienianie współbieżności wyzwalacza.
maximumWaitingRuns
<
max-runs-queue>
Integer
Gdy przepływ pracy jest już uruchomiony maksymalną liczbę wystąpień, które można zmienić na runtimeConfiguration.concurrency.runs podstawie właściwości, wszystkie nowe uruchomienia są umieszczane w tej kolejce do limitu domyślnego. Aby zmienić limit domyślny, zobacz Zmienianie limitu oczekujących przebiegów.
operationOptions
<
opcja operacji>
String
Domyślne zachowanie można zmienić, ustawiając operationOptions właściwość . Aby uzyskać więcej informacji, zobacz Opcje operacji.
Dane wyjściowe
Element
Type
Opis
headers
Obiekt JSON
Nagłówki z odpowiedzi
body
Obiekt JSON
Treść odpowiedzi
status code
Integer
Kod stanu z odpowiedzi
Wymagania dotyczące żądań przychodzących
Aby dobrze pracować z aplikacją logiki, punkt końcowy musi być zgodny z określonym wzorcem lub kontraktem wyzwalacza i rozpoznawać następujące właściwości odpowiedzi:
Właściwości
Wymagania
opis
Kod stanu
Tak
Kod stanu "200 OK" uruchamia przebieg. Żaden inny kod stanu nie uruchamia przebiegu.
Ponów próbę po nagłówku
Nie.
Liczba sekund do momentu ponownego sondowania punktu końcowego przez aplikację logiki
Nagłówek lokalizacji
Nie.
Adres URL do wywołania w następnym interwale sondowania. Jeśli nie zostanie określony, zostanie użyty oryginalny adres URL.
Przykładowe zachowania dla różnych żądań
Kod stanu
Ponów próbę po
Zachowanie
200
{none}
Uruchom przepływ pracy, a następnie sprawdź ponownie więcej danych po zdefiniowanym cyklu.
200
10 sekund
Uruchom przepływ pracy, a następnie sprawdź ponownie więcej danych po 10 sekundach.
202
60 s
Nie wyzwalaj przepływu pracy. Kolejna próba odbywa się w ciągu jednej minuty, z uwzględnieniem zdefiniowanego cyklu. Jeśli zdefiniowany cykl jest krótszy niż minuta, pierwszeństwo ma nagłówek ponawiania po. W przeciwnym razie jest używany zdefiniowany cykl.
400
{none}
Nieprawidłowe żądanie, nie uruchamiaj przepływu pracy. Jeśli nie retryPolicy jest zdefiniowana, zostaną użyte zasady domyślne. Po osiągnięciu liczby ponownych prób wyzwalacz ponownie sprawdza dane po zdefiniowanym cyklu.
500
{none}
Błąd serwera, nie uruchamiaj przepływu pracy. Jeśli nie retryPolicy jest zdefiniowana, zostaną użyte zasady domyślne. Po osiągnięciu liczby ponownych prób wyzwalacz ponownie sprawdza dane po zdefiniowanym cyklu.
Wyzwalacz HTTPWebhook
Ten wyzwalacz sprawia, że aplikacja logiki może być wywoływana przez utworzenie punktu końcowego, który może zarejestrować subskrypcję, wywołując określony adres URL punktu końcowego. Po utworzeniu tego wyzwalacza w przepływie pracy żądanie wychodzące wysyła wywołanie w celu zarejestrowania subskrypcji. W ten sposób wyzwalacz może rozpocząć nasłuchiwanie zdarzeń. Gdy operacja powoduje, że ten wyzwalacz jest nieprawidłowy, żądanie wychodzące automatycznie wysyła wywołanie w celu anulowania subskrypcji. Aby uzyskać więcej informacji, zobacz Subskrypcje punktów końcowych.
Możesz również określić limity asynchroniczne w wyzwalaczu HTTPWebhook . Zachowanie wyzwalacza zależy od używanych sekcji lub ich pomijania.
Niektóre wartości, takie jak <typ> metody, są dostępne dla obiektów "subscribe" i "unsubscribe" .
Wymagane
Wartość
Type
Opis
<
typ metody>
String
Metoda HTTP do użycia dla żądania subskrypcji: "GET", "PUT", "POST", "PATCH" lub "DELETE"
<
endpoint-subscribe-URL>
String
Adres URL punktu końcowego, pod którym ma być wysyłane żądanie subskrypcji
Opcjonalne
Wartość
Type
Opis
<
typ metody>
String
Metoda HTTP do użycia dla żądania anulowania: "GET", "PUT", "POST", "PATCH" lub "DELETE"
<
endpoint-unsubscribe-URL>
String
Adres URL punktu końcowego, pod którym ma być wysyłane żądanie anulowania
<
body-content>
String
Dowolna zawartość wiadomości do wysłania w żądaniu subskrypcji lub anulowania
<
typ uwierzytelniania>
Obiekt JSON
Model uwierzytelniania używany przez żądanie do uwierzytelniania żądań wychodzących. Aby uzyskać więcej informacji, zobacz Dodawanie uwierzytelniania do wywołań wychodzących.
<
zachowanie ponawiania próby>
Obiekt JSON
Dostosowuje zachowanie ponawiania prób dla sporadycznych błędów, które mają kod stanu 408, 429 i 5XX oraz wszelkie wyjątki łączności. Aby uzyskać więcej informacji, zobacz Zasady ponawiania prób.
<
maksymalna liczba przebiegów>
Integer
Domyślnie wszystkie wystąpienia przepływu pracy są uruchamiane w tym samym czasie (współbieżnie lub równolegle) do domyślnego limitu. Aby zmienić ten limit, ustawiając nową <wartość licznika> , zobacz Zmienianie współbieżności wyzwalacza.
<
max-runs-queue>
Integer
Gdy przepływ pracy jest już uruchomiony maksymalną liczbę wystąpień, które można zmienić na runtimeConfiguration.concurrency.runs podstawie właściwości, wszystkie nowe uruchomienia są umieszczane w tej kolejce do limitu domyślnego. Aby zmienić limit domyślny, zobacz Zmienianie limitu oczekujących przebiegów.
<
opcja operacji>
String
Domyślne zachowanie można zmienić, ustawiając operationOptions właściwość . Aby uzyskać więcej informacji, zobacz Opcje operacji.
Dane wyjściowe
Element
Type
Opis
nagłówki
Obiekt JSON
Nagłówki z odpowiedzi
treść
Obiekt JSON
Treść odpowiedzi
kod stanu
Integer
Kod stanu z odpowiedzi
Przykład
Ten wyzwalacz tworzy subskrypcję określonego punktu końcowego, udostępnia unikatowy adres URL wywołania zwrotnego i czeka na nowo opublikowane artykuły technologiczne.
Ten wyzwalacz jest uruchamiany zgodnie z określonym harmonogramem cyklu i zapewnia łatwy sposób tworzenia regularnego uruchamiania przepływu pracy.
JSON
"Recurrence": {
"type": "Recurrence",
"recurrence": {
"frequency": "<time-unit>",
"interval": <number-of-time-units>,
"startTime": "<start-date-time-with-format-YYYY-MM-DDThh:mm:ss>",
"timeZone": "<time-zone>",
"schedule": {
// Applies only when frequency is Day or Week. Separate values with commas.
"hours": [ <one-or-more-hour-marks> ],
// Applies only when frequency is Day or Week. Separate values with commas.
"minutes": [ <one-or-more-minute-marks> ],
// Applies only when frequency is Week. Separate values with commas.
"weekDays": [ "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday" ]
}
},
"runtimeConfiguration": {
"concurrency": {
"runs": <max-runs>,
"maximumWaitingRuns": <max-runs-queue>
}
},
"operationOptions": "<operation-option>"
}
Wymagane
Wartość
Type
Opis
<
jednostka czasowa>
String
Jednostka czasu, która opisuje, jak często wyzwalacz jest uruchamiany: "Second", "Minute", "Hour", "Day", "Week", "Month"
<
liczba jednostek czasu>
Integer
Wartość określająca, jak często wyzwalacz jest uruchamiany na podstawie częstotliwości, czyli liczby jednostek czasu oczekiwania na ponowne uruchomienie wyzwalacza
Poniżej przedstawiono minimalne i maksymalne interwały:
- Miesiąc: 1–16 miesięcy — dzień: 1–500 dni — godzina: 1–12 000 godzin — minuta: 1–72 000 minut — drugi: 1–999 999 999 sekund
Jeśli na przykład interwał wynosi 6, a częstotliwość to "Miesiąc", cykl wynosi co 6 miesięcy.
RRRR-MM-DDThh:mm:ss, jeśli określisz strefę czasową
-lub-
RRRR-MM-DDThh:mm:ssZ, jeśli nie określisz strefy czasowej
Jeśli na przykład chcesz 18 września 2017 r. o 23:00, określ wartość "2017-09-18T14:00:00" i określ strefę czasową, taką jak "Pacyficzny czas standardowy" lub określ "2017-09-18T14:00:00Z" bez strefy czasowej.
Uwaga: Ten czas rozpoczęcia ma maksymalnie 49 lat w przyszłości i musi postępować zgodnie ze specyfikacjądaty ISO 8601 w formacie daty i godziny UTC, ale bez przesunięcia UTC. Jeśli nie określisz strefy czasowej, musisz dodać literę "Z" na końcu bez spacji. Ten "Z" odnosi się do równoważnego czasu morskiego.
W przypadku prostych harmonogramów czas rozpoczęcia jest pierwszym wystąpieniem, podczas gdy w przypadku złożonych harmonogramów wyzwalacz nie jest uruchamiany wcześniej niż czas rozpoczęcia. Aby uzyskać więcej informacji na temat dat i godzin rozpoczęcia, zobacz Tworzenie i planowanie regularnie wykonywanych zadań.
<
strefa czasowa>
String
Ma zastosowanie tylko wtedy, gdy określisz godzinę rozpoczęcia, ponieważ ten wyzwalacz nie akceptuje przesunięcia UTC. Określ strefę czasową, którą chcesz zastosować.
<
co najmniej jednogodzinne znaczniki>
Liczba całkowita lub tablica całkowita
Jeśli określisz wartość "Dzień" lub "Tydzień" dla frequencyparametru , możesz określić jedną lub więcej liczb całkowitych z zakresu od 0 do 23, oddzieloną przecinkami, jako godziny dnia, w których chcesz uruchomić przepływ pracy.
Jeśli na przykład określisz wartość "10", "12" i "14", otrzymasz 10:00, 12:00 i 23:00 jako znaczniki godziny.
<
co najmniej jednominutowe znaczniki>
Liczba całkowita lub tablica całkowita
W przypadku określenia wartości "Dzień" lub "Tydzień" frequencydla parametru można określić jedną lub więcej liczb całkowitych z zakresu od 0 do 59 rozdzielonych przecinkami jako minuty godziny, kiedy chcesz uruchomić przepływ pracy.
Można na przykład określić wartość "30" jako znacznik minuty i użyć poprzedniego przykładu dla godzin dnia, otrzymasz 10:30, 12:30 i 14:30.
weekDays
Ciąg lub tablica ciągów
Jeśli określisz wartość "Tydzień" dla frequencyelementu , możesz określić co najmniej jeden dzień rozdzielony przecinkami, kiedy chcesz uruchomić przepływ pracy: "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota" i "Niedziela"
<
maksymalna liczba przebiegów>
Integer
Domyślnie wszystkie wystąpienia przepływu pracy są uruchamiane w tym samym czasie (współbieżnie lub równolegle) do domyślnego limitu. Aby zmienić ten limit, ustawiając nową <wartość licznika> , zobacz Zmienianie współbieżności wyzwalacza.
<
max-runs-queue>
Integer
Gdy przepływ pracy jest już uruchomiony maksymalną liczbę wystąpień, które można zmienić na runtimeConfiguration.concurrency.runs podstawie właściwości, wszystkie nowe uruchomienia są umieszczane w tej kolejce do limitu domyślnego. Aby zmienić limit domyślny, zobacz Zmienianie limitu oczekujących przebiegów.
<
opcja operacji>
String
Domyślne zachowanie można zmienić, ustawiając operationOptions właściwość . Aby uzyskać więcej informacji, zobacz Opcje operacji.
Przykład 1
Ten podstawowy wyzwalacz cyklu jest uruchamiany codziennie:
Możesz określić datę i godzinę rozpoczęcia wyzwalacza. Ten wyzwalacz cyklu jest uruchamiany w określonej dacie, a następnie jest uruchamiany codziennie:
Ten wyzwalacz cyklu rozpoczyna się 9 września 2017 o 23:00 i jest uruchamiany co tydzień co poniedziałek o godzinie 10:30, 12:30 i 2:30 Pacyficzny Czas standardowy:
Ten wyzwalacz sprawia, że aplikacja logiki może być wywoływana przez utworzenie punktu końcowego, który może akceptować żądania przychodzące. W przypadku tego wyzwalacza podaj schemat JSON, który opisuje i weryfikuje ładunek lub dane wejściowe odbierane przez wyzwalacz z żądania przychodzącego. Schemat ułatwia również odwołanie się do właściwości wyzwalacza z późniejszych akcji w przepływie pracy.
Nazwa właściwości w schemacie JSON, która opisuje ładunek
<
typ właściwości>
String
Typ właściwości
Opcjonalne
Wartość
Type
Opis
<
typ metody>
String
Metoda, która wymaga użycia żądań przychodzących w celu wywołania aplikacji logiki: "GET", "PUT", "POST", "PATCH", "DELETE"
<
parametr relative-path-for-accepted-parameter>
String
Ścieżka względna parametru, który może zaakceptować adres URL punktu końcowego
<
wymagane właściwości>
Tablica
Co najmniej jedna właściwości, która wymaga wartości
<
maksymalna liczba przebiegów>
Integer
Domyślnie wszystkie wystąpienia przepływu pracy są uruchamiane w tym samym czasie (współbieżnie lub równolegle) do domyślnego limitu. Aby zmienić ten limit, ustawiając nową <wartość licznika> , zobacz Zmienianie współbieżności wyzwalacza.
<
max-runs-queue>
Integer
Gdy przepływ pracy jest już uruchomiony maksymalną liczbę wystąpień, które można zmienić na runtimeConfiguration.concurrency.runs podstawie właściwości, wszystkie nowe uruchomienia są umieszczane w tej kolejce do limitu domyślnego. Aby zmienić limit domyślny, zobacz Zmienianie limitu oczekujących przebiegów.
<
opcja operacji>
String
Domyślne zachowanie można zmienić, ustawiając operationOptions właściwość . Aby uzyskać więcej informacji, zobacz Opcje operacji.
Przykład
Ten wyzwalacz określa, że żądanie przychodzące musi używać metody HTTP POST do wywołania wyzwalacza i zawiera schemat, który weryfikuje dane wejściowe z żądania przychodzącego:
W przypadku dowolnego wyzwalacza i tylko wyzwalaczy można dołączyć tablicę zawierającą co najmniej jedno wyrażenie dla warunków określających, czy przepływ pracy powinien być uruchamiany. Aby dodać conditions właściwość do wyzwalacza w przepływie pracy, otwórz aplikację logiki w edytorze widoku kodu.
Można na przykład określić, że wyzwalacz jest uruchamiany tylko wtedy, gdy witryna internetowa zwraca wewnętrzny błąd serwera, odwołując się do kodu stanu wyzwalacza we conditions właściwości:
Domyślnie wyzwalacz jest uruchamiany dopiero po otrzymaniu odpowiedzi "200 OK". Gdy wyrażenie odwołuje się do kodu stanu wyzwalacza, domyślne zachowanie wyzwalacza jest zastępowane. Dlatego jeśli chcesz, aby wyzwalacz był wyzwalany dla więcej niż jednego kodu stanu, takiego jak kod stanu "200" i "201", musisz dołączyć to wyrażenie jako warunek:
Jeśli wyzwalacz odbiera tablicę do przetworzenia przepływu pracy, czasami pętla "dla każdego" może potrwać zbyt długo, aby przetworzyć każdy element tablicy. Zamiast tego możesz użyć właściwości SplitOn w wyzwalaczu, aby debatować tablicę. Debatching dzieli elementy tablicy i uruchamia nowe wystąpienie przepływu pracy, które jest uruchamiane dla każdego elementu tablicy. Takie podejście jest przydatne, na przykład w przypadku sondowania punktu końcowego, który może zwracać wiele nowych elementów między interwałami sondowania.
Jeśli plik swagger wyzwalacza opisuje ładunek tablicy, właściwość SplitOn zostanie automatycznie dodana do wyzwalacza. W przeciwnym razie dodaj tę właściwość wewnątrz ładunku odpowiedzi zawierającego tablicę, którą chcesz debatować.
Przed użyciem funkcji SplitOn zapoznaj się z następującymi zagadnieniami:
Jeśli współbieżność wyzwalacza jest włączona, limit SplitOn jest znacznie zmniejszony. Jeśli liczba elementów przekroczy ten limit, funkcja SplitOn jest wyłączona.
Nie można używać funkcji SplitOn ze wzorcem odpowiedzi synchronicznej. Każdy przepływ pracy, który używa właściwości SplitOn i zawiera akcję odpowiedzi, jest uruchamiana asynchronicznie i natychmiast wysyła 202 ACCEPTED odpowiedź.
Aby uzyskać maksymalną liczbę elementów tablicy, któremożna przetworzyć w jednym przebiegu przepływu pracy, zobacz Limity i konfiguracja.
Przykład
Załóżmy, że masz wyzwalacz HTTP, który wywołuje interfejs API i otrzymuje tę odpowiedź:
Jeśli używasz SplitOn polecenia , nie możesz pobrać właściwości spoza tablicy.
W tym przykładzie nie można pobrać status właściwości w odpowiedzi zwróconej z interfejsu API.
Aby uniknąć błędu, jeśli Rows właściwość nie istnieje, w tym przykładzie użyto ? operatora .
Definicja przepływu pracy może teraz służyć @triggerBody().name do pobierania name wartości, które pochodzą "customer-name-one" z pierwszego uruchomienia i "customer-name-two" z drugiego uruchomienia. W związku z tym dane wyjściowe wyzwalacza wyglądają następująco:
Usługa Azure Logic Apps udostępnia różne typy akcji — każdy z różnymi danymi wejściowymi definiującymi unikatowe zachowanie akcji. Akcje mają te elementy wysokiego poziomu, choć niektóre są opcjonalne:
Nazwa danych wejściowych definiujących zachowanie akcji
<
input-value>
Różne
Wartość wejściowa, która może być ciągiem, liczbą całkowitą, obiektem JSON itd.
<
previous-trigger-or-action-status>
Obiekt JSON
Nazwa i wynikowy stan wyzwalacza lub akcji, która musi działać bezpośrednio przed uruchomieniem bieżącej akcji
Opcjonalne
Wartość
Type
Opis
<
zachowanie ponawiania próby>
Obiekt JSON
Dostosowuje zachowanie ponawiania prób dla sporadycznych błędów, które mają kod stanu 408, 429 i 5XX oraz wszelkie wyjątki łączności. Aby uzyskać więcej informacji, zobacz Zasady ponawiania prób.
<
opcje konfiguracji środowiska uruchomieniowego>
Obiekt JSON
W przypadku niektórych akcji można zmienić zachowanie akcji w czasie wykonywania, ustawiając runtimeConfiguration właściwości. Aby uzyskać więcej informacji, zobacz Ustawienia konfiguracji środowiska uruchomieniowego.
<
opcja operacji>
String
W przypadku niektórych akcji można zmienić domyślne zachowanie, ustawiając operationOptions właściwość . Aby uzyskać więcej informacji, zobacz Opcje operacji.
Lista typów akcji
Poniżej przedstawiono niektóre często używane typy akcji:
Akcje operacji danych, takie jak Join, Compose, Table, Select i inne, które tworzą lub przekształcają dane z różnych danych wejściowych
Przepływ pracy do wywoływania innego przepływu pracy aplikacji logiki
Zarządzane typy akcji interfejsu API, takie jak ApiConnection i ApiConnectionWebHook, które nazywają różne łączniki i interfejsy API zarządzane przez firmę Microsoft, na przykład Azure Service Bus, Office 365 Outlook, Power BI, Azure Blob Storage, OneDrive, GitHub i nie tylko
Tworzy przyjazne dla użytkownika tokeny na podstawie właściwości w zawartości JSON. Następnie możesz odwoływać się do tych właściwości, dołączając tokeny w aplikacji logiki.
Działa jak element webhook HTTP, ale korzysta z interfejsu API zarządzanego przez firmę Microsoft.
Kontrolowanie akcji przepływu pracy
Te akcje ułatwiają kontrolowanie wykonywania przepływu pracy i uwzględnianie innych akcji. Spoza akcji przepływu pracy sterowania można bezpośrednio odwoływać się do akcji wewnątrz tej akcji przepływu pracy. Jeśli na przykład masz Http akcję wewnątrz zakresu, możesz odwołać się do @body('Http') wyrażenia z dowolnego miejsca w przepływie pracy. Jednak akcje, które istnieją wewnątrz akcji przepływu pracy sterowania, mogą być uruchamiane tylko po innych akcjach, które znajdują się w tej samej strukturze przepływu pracy sterowania.
Nazwa interfejsu API zarządzanego przez firmę Microsoft, który jest używany na potrzeby połączenia
<
typ metody>
String
Metoda HTTP do wywoływania interfejsu API: "GET", "PUT", "POST", "PATCH" lub "DELETE"
<
operacja interfejsu API>
String
Operacja interfejsu API do wywołania
Opcjonalne
Wartość
Type
Opis
<
inne właściwości wejściowe specyficzne dla akcji>
Obiekt JSON
Wszelkie inne właściwości wejściowe, które mają zastosowanie do tej konkretnej akcji
<
zachowanie ponawiania próby>
Obiekt JSON
Dostosowuje zachowanie ponawiania prób dla sporadycznych błędów, które mają kod stanu 408, 429 i 5XX oraz wszelkie wyjątki łączności. Aby uzyskać więcej informacji, zobacz Zasady ponawiania prób.
<
parametry zapytania>
Obiekt JSON
Wszystkie parametry zapytania do uwzględnienia z wywołaniem interfejsu API.
Na przykład "queries": { "api-version": "2018-01-01" } obiekt dodaje ?api-version=2018-01-01 do wywołania .
<
inne właściwości specyficzne dla akcji>
Obiekt JSON
Wszelkie inne właściwości, które mają zastosowanie do tej konkretnej akcji
Przykład
Ta definicja opisuje akcję Wyślij wiadomość e-mail dla łącznika usługi Office 365 Outlook, która jest interfejsem API zarządzanym przez firmę Microsoft:
JSON
"Send_an_email": {
"type": "ApiConnection",
"inputs": {
"body": {
"Body": "Thank you for your membership!",
"Subject": "Hello and welcome!",
"To": "Sophie.Owen@contoso.com"
},
"host": {
"connection": {
"name": "@parameters('$connections')['office365']['connectionId']"
}
},
"method": "POST",
"path": "/Mail"
},
"runAfter": {}
}
Dowolna zawartość wiadomości do wysłania w żądaniu
<
typ uwierzytelniania>
Obiekt JSON
Model uwierzytelniania używany przez żądanie do uwierzytelniania żądań wychodzących. Aby uzyskać więcej informacji, zobacz Dodawanie uwierzytelniania do wywołań wychodzących.
<
zachowanie ponawiania próby>
Obiekt JSON
Dostosowuje zachowanie ponawiania prób dla sporadycznych błędów, które mają kod stanu 408, 429 i 5XX oraz wszelkie wyjątki łączności. Aby uzyskać więcej informacji, zobacz Zasady ponawiania prób.
<
parametry zapytania>
Obiekt JSON
Wszystkie parametry zapytania do uwzględnienia z wywołaniem interfejsu API
Na przykład "queries": { "api-version": "2018-01-01" } obiekt dodaje ?api-version=2018-01-01 do wywołania .
<
inne właściwości wejściowe specyficzne dla akcji>
Obiekt JSON
Wszelkie inne właściwości wejściowe, które mają zastosowanie do tej konkretnej akcji
<
inne właściwości specyficzne dla akcji>
Obiekt JSON
Wszelkie inne właściwości, które mają zastosowanie do tej konkretnej akcji
Można również określić limity dla akcji ApiConnectionWebhook w taki sam sposób, jak limity asynchroniczne HTTP.
Redagowanie akcji
Ta akcja tworzy pojedyncze dane wyjściowe z wielu danych wejściowych, w tym z wyrażeń. Zarówno dane wyjściowe, jak i wejściowe mogą mieć dowolny typ, który usługa Azure Logic Apps natywnie obsługuje, takich jak tablice, obiekty JSON, XML i binarne. Następnie możesz użyć danych wyjściowych akcji w innych akcjach.
W atrybucie code fragment kodu może używać obiektu tylko workflowContext do odczytu jako danych wejściowych. Ten obiekt ma podwłaściwości, które zapewniają dostęp kodu do danych wyjściowych z wyzwalacza i wszystkich poprzednich akcji w przepływie pracy. Aby uzyskać więcej informacji na temat workflowContext obiektu, zobacz Odwołania wyzwalacz i wyniki akcji przy użyciu obiektu workflowContext.
Wymagane w niektórych przypadkach
Atrybut explicitDependencies określa, że chcesz jawnie uwzględnić wyniki z wyzwalacza, poprzednich akcji lub obu jako zależności dla fragmentu kodu. Aby uzyskać więcej informacji na temat dodawania tych zależności, zobacz Dodawanie zależności jako parametrów do akcji wbudowanego kodu.
Dla atrybutu includeTrigger można określić true lub false wartości.
Wartość
Type
Opis
<
poprzednie akcje>
Tablica ciągów
Tablica z nazwami akcji w formacie JSON jako zależności. Pamiętaj, aby użyć nazw akcji wyświetlanych w definicji przepływu pracy, w której nazwy akcji używają podkreśleń (_), a nie spacji (" ").
Przykład 1
Ta akcja uruchamia kod, który pobiera nazwę przepływu pracy aplikacji logiki i zwraca tekst "Hello world from <logic-app-name>" w wyniku. W tym przykładzie kod odwołuje się do nazwy przepływu pracy, korzystając workflowContext.workflow.name z właściwości za pośrednictwem obiektu tylko workflowContext do odczytu. Aby uzyskać więcej informacji na temat korzystania z workflowContext obiektu, zobacz Wyzwalacz odwołania i wyniki akcji w kodzie.
JSON
"Execute_JavaScript_Code": {
"type": "JavaScriptCode",
"inputs": {
"code": "var text = \"Hello world from \" + workflowContext.workflow.name;\r\n\r\nreturn text;"
},
"runAfter": {}
}
Przykład 2
Ta akcja uruchamia kod w przepływie pracy aplikacji logiki, który jest wyzwalany po nadejściu nowej wiadomości e-mail na koncie programu Outlook. Przepływ pracy używa również akcji wiadomości e-mail dotyczącej wysyłania zatwierdzenia w usłudze Office 365 Outlook, która przekazuje zawartość odebranej wiadomości e-mail wraz z żądaniem zatwierdzenia.
Kod wyodrębnia adresy e-mail z właściwości wiadomości Body e-mail i zwraca adresy wraz z wartością SelectedOption właściwości z akcji zatwierdzania. Akcja jawnie zawiera akcję Wyślij wiadomość e-mail zatwierdzenia jako zależność w actions obiekcie wewnątrz explicitDependencies obiektu.
Dowolna zawartość wiadomości do wysłania w żądaniu
<
parametry zapytania>
Obiekt JSON
Wszystkie parametry zapytania do uwzględnienia z wywołaniem interfejsu API
Na przykład "queries": { "api-version": "2018-01-01" } obiekt dodaje ?api-version=2018-01-01 do wywołania .
<
inne właściwości wejściowe specyficzne dla akcji>
Obiekt JSON
Wszelkie inne właściwości wejściowe, które mają zastosowanie do tej konkretnej akcji
<
inne właściwości specyficzne dla akcji>
Obiekt JSON
Wszelkie inne właściwości, które mają zastosowanie do tej konkretnej akcji
Po zapisaniu aplikacji logiki usługa Azure Logic Apps wykonuje te kontrole w funkcji, do której się odwołujesz:
Przepływ pracy musi mieć dostęp do funkcji.
Przepływ pracy może używać tylko standardowego wyzwalacza HTTP lub ogólnego wyzwalacza elementu webhook JSON.
Usługa Azure Logic Apps pobiera i buforuje adres URL wyzwalacza, który jest używany w czasie wykonywania. Jeśli jednak jakakolwiek operacja unieważnia buforowany adres URL, akcja funkcji kończy się niepowodzeniem w czasie wykonywania. Aby rozwiązać ten problem, zapisz ponownie aplikację logiki, aby aplikacja logiki pobierała i buforuje adres URL wyzwalacza ponownie.
Funkcja nie może mieć zdefiniowanej trasy.
Dozwolone są tylko poziomy autoryzacji "function" i "anonymous".
Przykład
Ta definicja akcji wywołuje wcześniej utworzoną funkcję "GetProductID":
Metoda służąca do wysyłania żądania wychodzącego: "GET", "PUT", "POST", "PATCH" lub "DELETE"
uri
<
Http-or-HTTPS-endpoint-URL>
String
Adres URL punktu końcowego HTTP lub HTTPS, w którym chcesz wysłać żądanie wychodzące. Maksymalny rozmiar ciągu: 2 KB
W przypadku usługi lub zasobu platformy Azure ta składnia identyfikatora URI zawiera identyfikator zasobu i ścieżkę do zasobu, do którego chcesz uzyskać dostęp.
Opcjonalne
Właściwości
Wartość
Type
Opis
headers
<
nagłówek-zawartość>
Obiekt JSON
Wszelkie nagłówki, które należy dołączyć do żądania
Wszystkie parametry zapytania, które należy użyć w żądaniu
Na przykład "queries": { "api-version": "2018-01-01" } obiekt dodaje ?api-version=2018-01-01 do wywołania .
body
<
body-content>
Obiekt JSON
Zawartość wiadomości, która ma być wysyłana jako ładunek z żądaniem
authentication
<
authentication-type-and-property-values>
Obiekt JSON
Model uwierzytelniania używany przez żądanie do uwierzytelniania żądań wychodzących. Aby uzyskać więcej informacji, zobacz Dodawanie uwierzytelniania do wywołań wychodzących. Poza usługą Scheduler obsługiwana authority jest właściwość . Jeśli nie zostanie określona, wartość domyślna to https://management.azure.com/, ale można użyć innej wartości.
retryPolicy > type
<
zachowanie ponawiania próby>
Obiekt JSON
Dostosowuje zachowanie ponawiania prób dla sporadycznych błędów, które mają kod stanu 408, 429 i 5XX oraz wszelkie wyjątki łączności. Aby uzyskać więcej informacji, zobacz Zasady ponawiania prób.
<
inne właściwości wejściowe specyficzne dla akcji>
<
input-property>
Obiekt JSON
Wszelkie inne właściwości wejściowe, które mają zastosowanie do tej konkretnej akcji
<
inne właściwości specyficzne dla akcji>
<
właściwość-wartość>
Obiekt JSON
Wszelkie inne właściwości, które mają zastosowanie do tej konkretnej akcji
Przykład
Ta definicja akcji pobiera najnowsze wiadomości, wysyłając żądanie do określonego punktu końcowego:
Tablica lub wyrażenie zawierające elementy źródłowe. Jeśli określisz wyrażenie, należy ująć to wyrażenie w cudzysłowy.
<
Ogranicznik>
Ciąg z pojedynczym znakiem
Znak oddzielający każdy element w ciągu
Przykład
Załóżmy, że masz wcześniej utworzoną zmienną "myIntegerArray", która zawiera tę tablicę całkowitą:
[1,2,3,4]
Ta definicja akcji pobiera wartości ze zmiennej przy użyciu variables() funkcji w wyrażeniu i tworzy ten ciąg z tymi wartościami, które są oddzielone przecinkiem: "1,2,3,4"
Ta akcja tworzy przyjazne dla użytkownika pola lub tokeny na podstawie właściwości w zawartości JSON. Następnie możesz uzyskać dostęp do tych właściwości w aplikacji logiki przy użyciu tokenów. Jeśli na przykład chcesz użyć danych wyjściowych JSON z usług, takich jak Azure Service Bus i Azure Cosmos DB, możesz uwzględnić tę akcję w aplikacji logiki, aby ułatwić odwoływanie się do danych wyjściowych.
W tym przykładzie właściwość "content" określa zawartość JSON dla akcji do analizy. Tę zawartość JSON można również podać jako przykładowy ładunek do generowania schematu.
Kod stanu HTTP, który jest wysyłany do żądania przychodzącego. Domyślny kod to "200 OK", ale kod może być dowolnym prawidłowym kodem stanu rozpoczynającym się od 2xx, 4xx lub 5xx, ale nie z 3xxx.
Opcjonalne
Wartość
Type
Opis
<
nagłówki odpowiedzi>
Obiekt JSON
Co najmniej jeden nagłówek do uwzględnienia w odpowiedzi
<
treść odpowiedzi>
Różne
Treść odpowiedzi, która może być ciągiem, obiektem JSON, a nawet zawartością binarną z poprzedniej akcji
Przykład
Ta definicja akcji tworzy odpowiedź na żądanie HTTP z określonym kodem stanu, treścią komunikatu i nagłówkami komunikatów:
W przeciwieństwie do innych akcji akcja Odpowiedź ma specjalne ograniczenia:
Przepływ pracy może używać akcji Odpowiedź tylko wtedy, gdy przepływ pracy rozpoczyna się od wyzwalacza żądania HTTP, co oznacza, że przepływ pracy musi zostać wyzwolony przez żądanie HTTP.
Przepływ pracy może używać akcji Odpowiedź w dowolnym miejscu, z wyjątkiem pętli Foreach, pętli Until, w tym pętli sekwencyjnych i gałęzi równoległych.
Oryginalne żądanie pobiera odpowiedź przepływu pracy tylko wtedy, gdy wszystkie akcje wymagane przez akcję Odpowiedź zostaną zakończone w limicie czasu HTTP.
Jeśli jednak przepływ pracy wywołuje inną aplikację logiki jako zagnieżdżony przepływ pracy, nadrzędny przepływ pracy czeka na zakończenie zagnieżdżonego przepływu pracy, bez względu na to, ile czasu mija przed zakończeniem zagnieżdżonego przepływu pracy.
Gdy przepływ pracy używa akcji Odpowiedź i synchronicznego wzorca odpowiedzi, przepływ pracy nie może również używać polecenia splitOn w definicji wyzwalacza, ponieważ to polecenie tworzy wiele uruchomień. Sprawdź, czy w tym przypadku jest używana metoda PUT, a jeśli jest to prawda, zwróć odpowiedź "nieprawidłowe żądanie".
W przeciwnym razie jeśli przepływ pracy używa polecenia splitOn i akcji Odpowiedź , przepływ pracy jest uruchamiany asynchronicznie i natychmiast zwraca odpowiedź "202 ZAAKCEPTOWANE".
Gdy wykonanie przepływu pracy osiągnie akcję Odpowiedź , ale przychodzące żądanie odebrało już odpowiedź, akcja Odpowiedź jest oznaczona jako "Niepowodzenie" z powodu konfliktu. W związku z tym uruchomienie aplikacji logiki jest również oznaczone stanem "Niepowodzenie".
Wybieranie akcji
Ta akcja tworzy tablicę z obiektami JSON, przekształcając elementy z innej tablicy na podstawie określonej mapy. Tablica wyjściowa i tablica źródłowa zawsze mają taką samą liczbę elementów. Chociaż nie można zmienić liczby obiektów w tablicy wyjściowej, można dodawać lub usuwać właściwości i ich wartości w tych obiektach. Właściwość select określa co najmniej jedną parę klucz-wartość, która definiuje mapę przekształcania elementów w tablicy źródłowej. Para klucz-wartość reprezentuje właściwość i jej wartość we wszystkich obiektach w tablicy wyjściowej.
Tablica lub wyrażenie zawierające elementy źródłowe. Upewnij się, że ujmujesz wyrażenie z podwójnymi cudzysłowami.
Uwaga: jeśli tablica źródłowa jest pusta, akcja tworzy pustą tablicę.
<
key-name>
String
Nazwa właściwości przypisana do wyniku z <wyrażenia>
Aby dodać nową właściwość we wszystkich obiektach w tablicy wyjściowej, podaj <nazwę klucza> dla tej właściwości i <wyrażenie> dla wartości właściwości.
Aby usunąć właściwość ze wszystkich obiektów w tablicy, pomiń <nazwę klucza> dla tej właściwości.
<
wyrażenie>
String
Wyrażenie, które przekształca element w tablicy źródłowej i przypisuje wynik do <nazwy klucza>
Akcja Wybierz tworzy tablicę jako dane wyjściowe, więc każda akcja, która chce używać tych danych wyjściowych, musi zaakceptować tablicę lub przekonwertować tablicę na typ akceptowany przez akcję odbiorcy. Na przykład, aby przekonwertować tablicę wyjściową na ciąg, możesz przekazać tablicę do akcji Redaguj, a następnie odwołać się do danych wyjściowych z akcji Redaguj w innych akcjach.
Przykład
Ta definicja akcji tworzy tablicę obiektów JSON z tablicy całkowitej. Akcja iteruje za pośrednictwem tablicy źródłowej, pobiera każdą wartość całkowitą przy użyciu @item() wyrażenia i przypisuje każdą wartość do właściwości "number" w każdym obiekcie JSON:
Ta akcja tworzy tabelę CSV lub HTML na podstawie tablicy. W przypadku tablic z obiektami JSON ta akcja automatycznie tworzy nagłówki kolumn z nazw właściwości obiektów. W przypadku tablic z innymi typami danych należy określić nagłówki i wartości kolumn. Na przykład ta tablica zawiera właściwości "ID" i "Product_Name", których ta akcja może użyć dla nazw nagłówków kolumn:
Tablica lub wyrażenie, które udostępnia elementy źródłowe dla tabeli
Uwaga: jeśli tablica źródłowa jest pusta, akcja tworzy pustą tabelę.
Opcjonalne
Aby określić lub dostosować nagłówki i wartości kolumn, użyj tablicy columns . Gdy header-value pary mają taką samą nazwę nagłówka, ich wartości są wyświetlane w tej samej kolumnie pod tą nazwą nagłówka. W przeciwnym razie każdy unikatowy nagłówek definiuje unikatową kolumnę.
Wartość
Type
Opis
<
nazwa kolumny>
String
Nazwa nagłówka kolumny
<
kolumna-wartość>
Dowolne
Wartość w tej kolumnie
Przykład 1
Załóżmy, że masz wcześniej utworzoną zmienną "myItemArray", która obecnie zawiera tę tablicę:
Ta definicja akcji tworzy tabelę CSV ze zmiennej "myItemArray". Wyrażenie używane przez from właściwość pobiera tablicę z "myItemArray" przy użyciu variables() funkcji :
Ta definicja akcji tworzy tabelę HTML ze zmiennej "myItemArray". Wyrażenie używane przez from właściwość pobiera tablicę z "myItemArray" przy użyciu variables() funkcji :
Ta definicja akcji tworzy tabelę HTML ze zmiennej "myItemArray". Ten przykład zastępuje jednak domyślne nazwy nagłówków kolumn z wartościami "Stock_ID" i "Description" oraz dodaje wyraz "Organic" do wartości w kolumnie "Description".
Ta akcja zatrzymuje przebieg dla wystąpienia przepływu pracy, anuluje wszystkie akcje w toku, pomija wszelkie pozostałe akcje i zwraca określony stan. Na przykład możesz użyć akcji Zakończ , gdy aplikacja logiki musi całkowicie zakończyć działanie ze stanu błędu. Ta akcja nie ma wpływu na już ukończone akcje i nie może być wyświetlana w pętlach Foreach i Until , w tym w pętlach sekwencyjnych.
Ta akcja wywołuje inną wcześniej utworzoną aplikację logiki, co oznacza, że można dołączać i ponownie używać innych przepływów pracy aplikacji logiki. Można również użyć danych wyjściowych z podrzędnej lub zagnieżdżonej aplikacji logiki w akcjach, które są zgodne z zagnieżdżonym aplikacją logiki, pod warunkiem, że podrzędna aplikacja logiki zwraca odpowiedź.
Usługa Azure Logic Apps sprawdza dostęp do wyzwalacza, który chcesz wywołać, więc upewnij się, że masz dostęp do tego wyzwalacza. Ponadto zagnieżdżona aplikacja logiki musi spełniać następujące kryteria:
Wyzwalacz sprawia, że zagnieżdżona aplikacja logiki może być wywoływana, na przykład żądanie lub wyzwalacz HTTP
Ta sama subskrypcja platformy Azure co nadrzędna aplikacja logiki
Aby korzystać z danych wyjściowych z zagnieżdżonej aplikacji logiki w nadrzędnej aplikacji logiki, zagnieżdżona aplikacja logiki musi mieć akcję Odpowiedź
Nazwa wyzwalacza w zagnieżdżonej aplikacji logiki, którą chcesz wywołać
<
Identyfikator subskrypcji platformy Azure>
String
Identyfikator subskrypcji platformy Azure dla zagnieżdżonej aplikacji logiki
<
Azure-resource-group>
String
Nazwa grupy zasobów platformy Azure dla zagnieżdżonej aplikacji logiki
Opcjonalne
Wartość
Type
Opis
<
nagłówek-zawartość>
Obiekt JSON
Wszystkie nagłówki do wysłania za pomocą wywołania
<
body-content>
Obiekt JSON
Dowolna zawartość wiadomości do wysłania za pomocą połączenia
Dane wyjściowe
Dane wyjściowe tej akcji różnią się w zależności od akcji Odpowiedź zagnieżdżonej aplikacji logiki. Jeśli zagnieżdżona aplikacja logiki nie zawiera akcji Odpowiedź, dane wyjściowe są puste.
Przykład
Po pomyślnym zakończeniu akcji "Start_search" ta definicja akcji przepływu pracy wywołuje inną aplikację logiki o nazwie "Get_product_information", która przekazuje określone dane wejściowe:
Ta akcja pętli iteruje przez tablicę i wykonuje akcje na każdym elemencie tablicy. Domyślnie pętla "dla każdego" jest uruchamiana równolegle do maksymalnej liczby pętli. Aby uzyskać tę maksymalną wartość, zobacz Limity i konfiguracja. Dowiedz się , jak utworzyć pętle "dla każdego".
Nazwy akcji uruchamianych w każdym elemencie tablicy
<
action-definition-1... n>
Obiekt JSON
Definicje akcji, które są uruchamiane
<
wyrażenie -for-each>
String
Wyrażenie odwołujące się do każdego elementu w określonej tablicy
Opcjonalne
Wartość
Type
Opis
<
count>
Integer
Domyślnie iteracje pętli "dla każdego" są uruchamiane w tym samym czasie (współbieżnie lub równolegle) do domyślnego limitu. Aby zmienić ten limit, ustawiając nową <wartość licznika> , zobacz Zmienianie współbieżności pętli "dla każdego".
<
opcja operacji>
String
Aby uruchomić pętlę "dla każdego" sekwencyjnie, a nie równolegle, ustaw <opcję> operacji na Sequential wartość lub <zlicz> wartość 1, ale nie obie. Aby uzyskać więcej informacji, zobacz Sekwencyjnie uruchamianie pętli "dla każdego".
Przykład
Ta pętla "dla każdego" wysyła wiadomość e-mail dla każdego elementu w tablicy, który zawiera załączniki z przychodzącej wiadomości e-mail. Pętla wysyła wiadomość e-mail, w tym załącznik, do osoby, która przegląda załącznik.
Aby określić tylko tablicę, która jest przekazywana jako dane wyjściowe z wyzwalacza, to wyrażenie pobiera <tablicę nazw> tablicy z treści wyzwalacza. Aby uniknąć błędu, jeśli tablica nie istnieje, wyrażenie używa ? operatora :
@triggerBody()?['<array-name>']
Jeśli akcja
Ta akcja, która jest instrukcją warunkową, oblicza wyrażenie reprezentujące warunek i uruchamia inną gałąź na podstawie tego, czy warunek ma wartość true, czy false. Jeśli warunek ma wartość true, warunek jest oznaczony stanem "Powodzenie". Dowiedz się , jak tworzyć instrukcje warunkowe.
Akcja do uruchomienia, gdy <warunek> ma wartość true
<
action-definition>
Obiekt JSON
Definicja akcji
<
action-2>
Obiekt JSON
Akcja do uruchomienia, gdy <warunek> daje wartość false
Akcje w actions obiektach lub else uzyskują następujące stany:
"Powodzenie" po uruchomieniu i pomyślnym zakończeniu
"Niepowodzenie", gdy są uruchamiane i kończą się niepowodzeniem
"Pominięto", gdy odpowiednia gałąź nie jest uruchamiana
Przykład
Ten warunek określa, że gdy zmienna całkowita ma wartość większą niż zero, przepływ pracy sprawdza witrynę internetową. Jeśli zmienna ma wartość zero lub mniej, przepływ pracy sprawdza inną witrynę internetową.
W przypadku funkcji logiki i tworzenia zagnieżdżonych wyrażeń logicznych akcja jest uruchamiana, gdy dane wyjściowe z <akcji> są większe niż <wartość progowa> lub poniżej 100.
Do sprawdzania, czy tablica zawiera jakiekolwiek elementy, można użyć funkcji tablicy. Akcja jest uruchamiana, gdy tablica jest pusta errors .
Akcja zakresu
Ta akcja logicznie grupuje akcje w zakresy, które uzyskują własny stan po zakończeniu działania akcji w tym zakresie. Następnie możesz użyć stanu zakresu, aby określić, czy są uruchamiane inne akcje. Dowiedz się , jak tworzyć zakresy.
Co najmniej jedna akcja uruchamiana wewnątrz zakresu
<
action-inputs>
Obiekt JSON
Dane wejściowe dla każdej akcji
Akcja Przełącznik
Ta akcja, znana również jako instrukcja switch, organizuje inne akcje w przypadkach i przypisuje wartość do każdego przypadku, z wyjątkiem przypadku domyślnego, jeśli istnieje. Po uruchomieniu przepływu pracy akcja Przełącz porównuje wartość z wyrażenia, obiektu lub tokenu z wartościami określonymi dla każdego przypadku.
Jeśli akcja Przełącz znajdzie pasujący przypadek, przepływ pracy uruchamia tylko akcje dla tego przypadku. Za każdym razem, gdy akcja Przełącz jest uruchamiana, istnieje tylko jeden pasujący przypadek lub nie ma pasujących dopasowań. Jeśli nie ma dopasowań, akcja Przełącz uruchamia akcje domyślne. Dowiedz się , jak tworzyć instrukcje switch.
Nazwa akcji do uruchomienia dla pasującego przypadku
<
action-definition>
Obiekt JSON
Definicja akcji do uruchomienia dla pasującego przypadku
<
dopasowywanie wartości>
Różne
Wartość do porównania z obliczonym wynikiem
Opcjonalne
Wartość
Type
Opis
<
default-action-name>
String
Nazwa akcji domyślnej do uruchomienia, gdy nie istnieje pasujący przypadek
<
default-action-definition>
Obiekt JSON
Definicja akcji do uruchomienia, gdy nie istnieje pasujący przypadek
Przykład
Ta definicja akcji ocenia, czy osoba odpowiadająca na wiadomość e-mail z żądaniem zatwierdzenia wybrała opcję "Zatwierdź" lub opcję "Odrzuć". Na podstawie tego wyboru akcja Przełącz uruchamia akcje dla pasującego przypadku, czyli wysłanie kolejnej wiadomości e-mail do obiektu odpowiadającego, ale z innym sformułowaniem w każdym przypadku.
Ta akcja pętli zawiera akcje uruchamiane do momentu spełnienia określonego warunku. Pętla sprawdza warunek jako ostatni krok po uruchomieniu wszystkich innych akcji. W obiekcie można uwzględnić więcej niż jedną akcję "actions" , a akcja musi zdefiniować co najmniej jeden limit. Dowiedz się , jak tworzyć pętle "until".
Nazwa akcji, którą chcesz uruchomić wewnątrz pętli
<
typ akcji>
String
Typ akcji, który chcesz uruchomić
<
action-inputs>
Różne
Dane wejściowe akcji do uruchomienia
<
warunek>
String
Warunek lub wyrażenie, które ma być obliczane po zakończeniu działania wszystkich akcji w pętli
<
liczba pętli>
Integer
Limit największej liczby pętli, które można uruchomić. Aby uzyskać więcej informacji na temat domyślnego limitu i maksymalnego limitu, zobacz Limity i konfiguracja usługi Azure Logic Apps.
<
limit czasu pętli>
String
Limit najdłuższego czasu, w jaki pętla może działać. Wartość domyślna timeout to PT1H, która jest wymaganym formatem ISO 8601.
Uwaga
Jeśli wyrażenie zależy od danych wyjściowych z dowolnej akcji w pętli Until, upewnij się, że uwzględniasz wszelkie błędy wynikające z tej akcji.
Przykład
Ta definicja akcji pętli wysyła żądanie HTTP do określonego adresu URL do momentu spełnienia jednego z następujących warunków:
Żądanie otrzymuje odpowiedź z kodem stanu "200 OK".
Wyzwalacze i akcje oparte na elementach webhook nie regularnie sprawdzają punktów końcowych, ale czekają na określone zdarzenia lub dane w tych punktach końcowych. Te wyzwalacze i akcje subskrybują punkty końcowe, podając adres URL wywołania zwrotnego, pod którym punkt końcowy może wysyłać odpowiedzi.
Wywołanie subscribe odbywa się, gdy przepływ pracy zmienia się w dowolny sposób, na przykład po odnowieniu poświadczeń lub gdy parametry wejściowe zmieniają się dla wyzwalacza lub akcji. To wywołanie używa tych samych parametrów co standardowe akcje HTTP.
Wywołanie unsubscribe odbywa się automatycznie, gdy operacja powoduje, że wyzwalacz lub akcja są nieprawidłowe, na przykład:
Usuwanie lub wyłączanie wyzwalacza.
Usuwanie lub wyłączanie przepływu pracy.
Usuwanie lub wyłączanie subskrypcji.
Aby obsługiwać te wywołania, @listCallbackUrl() wyrażenie zwraca unikatowy "adres URL wywołania zwrotnego" dla wyzwalacza lub akcji. Ten adres URL reprezentuje unikatowy identyfikator punktów końcowych korzystających z interfejsu API REST usługi. Parametry tej funkcji są takie same jak wyzwalacz lub akcja elementu webhook.
Zmienianie czasu trwania asynchronicznego
W przypadku wyzwalaczy i akcji można ograniczyć czas trwania wzorca asynchronicznego do określonego przedziału czasu, dodając limit.timeout właściwość . W ten sposób, jeśli akcja nie została zakończona po upływie interwału, stan akcji jest oznaczony jako Cancelled kod ActionTimedOut . Właściwość timeout używa formatu ISO 8601.
Ustawienia konfiguracji środowiska uruchomieniowego
Domyślne zachowanie środowiska uruchomieniowego dla wyzwalaczy i akcji można zmienić, dodając te runtimeConfiguration właściwości do definicji wyzwalacza lub akcji.
Właściwość
Type
Opis
Wyzwalacz lub akcja
runtimeConfiguration.concurrency.runs
Integer
Zmień domyślny limit liczby wystąpień przepływu pracy, które mogą być uruchamiane jednocześnie (współbieżnie lub równolegle). Dostosowanie tej wartości może pomóc ograniczyć liczbę żądań odbieranych przez systemy zaplecza.
runs Ustawienie właściwości w taki 1 sam sposób, jak ustawienie operationOptions właściwości na SingleInstance. Można ustawić jedną z tych właściwości, ale nie obie.
Zmień domyślny limit liczby wystąpień przepływu pracy, które muszą czekać na uruchomienie, gdy aplikacja logiki jest już uruchomiona maksymalnie współbieżnych wystąpień.
Aby zmienić limit domyślny, zobacz Zmienianie limitu oczekujących przebiegów.
Wszystkie wyzwalacze
runtimeConfiguration.concurrency.repetitions
Integer
Zmień domyślny limit liczby iteracji pętli "dla każdego", które mogą być uruchamiane jednocześnie (współbieżnie lub równolegle).
repetitions Ustawienie właściwości w taki 1 sam sposób, jak ustawienie operationOptions właściwości na SingleInstance. Można ustawić jedną z tych właściwości, ale nie obie.
W przypadku akcji, które obsługują i mają włączone ustawienie statycznego wyniku , staticResult obiekt ma następujące atrybuty:
-
name, który odwołuje się do statycznej nazwy definicji wyniku bieżącej akcji, która jest wyświetlana definition wewnątrz atrybutu w atrybucie staticResults przepływu pracy aplikacji logiki. Aby uzyskać więcej informacji, zobacz Statyczne wyniki — dokumentacja schematu dla języka definicji przepływu pracy.
-
staticResultOptions, który określa, czy wyniki statyczne są, czy nie dla Enabled bieżącej akcji.
Uruchom iterację pętli "dla każdego" pojedynczo, a nie jednocześnie jednocześnie.
Ta opcja działa tak samo jak ustawienie runtimeConfiguration.concurrency.repetitions właściwości na 1. Można ustawić jedną z tych właściwości, ale nie obie.
Aby ustawić tę opcję, zobacz Sekwencyjnie uruchamianie pętli "dla każdego".
Uruchom wyzwalacz dla każdego wystąpienia aplikacji logiki sekwencyjnie i poczekaj na zakończenie poprzedniego aktywnego przebiegu przed wyzwoleniem kolejnego wystąpienia aplikacji logiki.
Ta opcja działa tak samo jak ustawienie runtimeConfiguration.concurrency.runs właściwości na 1. Można ustawić jedną z tych właściwości, ale nie obie.
Nie wysyłaj x-ms-* nagłówków metadanych w żądaniach wychodzących. Domyślnie usługa Azure Logic Apps zawiera dodatkowe nagłówki metadanych z prefiksem x-ms- w nazwie nagłówka w ramach żądań wychodzących. Jednak niektóre starsze usługi nie akceptują żądań z dodatkowymi nieznanymi nagłówkami, co powoduje niepowodzenie żądań.
Nie wysyłaj x-ms-* nagłówków metadanych w odpowiedziach na żądania wyzwalacza przychodzącego. Domyślnie usługa Azure Logic Apps wysyła odpowiedzi do żądań przychodzących zawierających dodatkowe nagłówki metadanych z prefiksem x-ms- w nazwie nagłówka. Jednak niektóre starsze usługi nie akceptują żądań ani odpowiedzi z dodatkowymi nieznanymi nagłówkami, co powoduje niepowodzenie żądań.
Domyślnie wystąpienia przepływu pracy aplikacji logiki są uruchamiane jednocześnie (współbieżnie lub równolegle). To zachowanie oznacza, że każde wystąpienie wyzwalacza jest uruchamiane przed zakończeniem działania wcześniej aktywnego wystąpienia przepływu pracy. Jednak liczba równoczesnych uruchomionych wystąpień ma domyślny limit. Gdy liczba współbieżnie uruchomionych wystąpień przepływu pracy osiągnie ten limit, wszystkie inne nowe wystąpienia muszą czekać na uruchomienie. Ten limit pomaga kontrolować liczbę żądań odbieranych przez systemy zaplecza.
Po włączeniu kontrolki współbieżności wyzwalacza wystąpienia wyzwalacza są uruchamiane równolegle do limitu domyślnego. Aby zmienić ten domyślny limit współbieżności, możesz użyć edytora widoku kodu lub projektanta przepływu pracy, ponieważ zmiana ustawienia współbieżności za pomocą projektanta dodaje lub aktualizuje runtimeConfiguration.concurrency.runs właściwość w podstawowej definicji wyzwalacza i odwrotnie. Ta właściwość steruje maksymalną liczbą nowych wystąpień przepływu pracy, które mogą być uruchamiane równolegle.
Przed włączeniem współbieżności na wyzwalaczu zapoznaj się z następującymi zagadnieniami:
Nie można wyłączyć współbieżności po włączeniu kontrolki współbieżności.
Jeśli maksymalna liczba współbieżnych uruchomień wyzwalacza osiągnie maksymalny stopień równoległości, kolejne uruchomienia wyzwalacza mogą napotkać ograniczanie przepustowości lub błędy "429 — zbyt wiele żądań". Jeśli skonfigurujesz zasady ponawiania, które obsługują błędy 429, wyzwalacz może napotkać cykl ponawiania próby i ograniczania przepustowości, co powoduje długie opóźnienia przetwarzania nowych żądań wyzwalacza.
Po włączeniu współbieżności limit SplitOn jest znacznie zmniejszony dla tablic dyskusyjnych. Jeśli liczba elementów przekroczy ten limit, funkcja SplitOn jest wyłączona.
Po włączeniu współbieżności długotrwałe wystąpienie aplikacji logiki może spowodować wprowadzenie stanu oczekiwania przez nowe wystąpienia aplikacji logiki. Ten stan uniemożliwia usłudze Azure Logic Apps tworzenie nowych wystąpień i występuje nawet wtedy, gdy liczba współbieżnych przebiegów jest mniejsza niż określona maksymalna liczba współbieżnych uruchomień.
Aby przerwać ten stan, anuluj najwcześniejsze wystąpienia, które nadal działają.
W menu aplikacji logiki wybierz pozycję Przegląd.
W sekcji Historia przebiegów wybierz najwcześniejsze wystąpienie, które jest nadal uruchomione, na przykład:
Napiwek
Aby wyświetlić tylko uruchomione wystąpienia, otwórz listę Wszystkie i wybierz pozycję Uruchomione.
W obszarze Uruchamianie aplikacji logiki wybierz pozycję Anuluj przebieg.
Aby obejść tę możliwość, dodaj limit czasu do każdej akcji, która może pomieścić te uruchomienia. Jeśli pracujesz w edytorze kodu, zobacz Zmienianie czasu trwania asynchronicznego. W przeciwnym razie, jeśli używasz projektanta, wykonaj następujące kroki:
W przepływie pracy aplikacji logiki wybierz akcję, w której chcesz dodać limit czasu. W prawym górnym rogu akcji wybierz przycisk wielokropka (...), a następnie wybierz pozycję Ustawienia.
W obszarze Limit czasu określ czas trwania limitu czasu w formacie ISO 8601.
Aby uruchomić aplikację logiki sekwencyjnie, ustaw współbieżność wyzwalacza na 1 wartość przy użyciu edytora widoku kodu lub projektanta. Upewnij się, że nie ustawiono również właściwości wyzwalacza operationOptions na SingleInstance wartość w edytorze widoku kodu. W przeciwnym razie zostanie wyświetlony błąd weryfikacji. Aby uzyskać więcej informacji, zobacz Wyzwalanie wystąpień sekwencyjnie.
Edytuj w widoku kodu
W podstawowej definicji wyzwalacza dodaj runtimeConfiguration.concurrency.runs właściwość i ustaw wartość na podstawie limitów współbieżności wyzwalacza. Aby uruchomić przepływ pracy sekwencyjnie, ustaw wartość właściwości na 1.
Ten przykład ogranicza współbieżne uruchomienia do 10 wystąpień:
Aby uzyskać więcej informacji, zobacz Ustawienia konfiguracji środowiska uruchomieniowego.
Edytowanie w projektancie przepływu pracy
W prawym górnym rogu wyzwalacza wybierz przycisk wielokropka (...), a następnie wybierz pozycję Ustawienia.
W obszarze Kontrolka współbieżności ustaw wartość Limit na Włączone.
Przeciągnij suwak Degree of Parallelism (Stopień równoległości) do żądanej wartości. Aby uruchomić aplikację logiki sekwencyjnie, przeciągnij wartość suwaka na 1.
Zmiana współbieżności "dla każdego"
Domyślnie iteracje pętli "dla każdego" są uruchamiane jednocześnie (współbieżnie lub równolegle). To zachowanie oznacza, że każda iteracja rozpoczyna działanie przed zakończeniem poprzedniej iteracji. Jednak liczba współbieżnych iteracji ma domyślny limit. Gdy liczba jednoczesnie uruchomionych iteracji osiągnie ten limit, wszystkie inne iteracji muszą czekać na uruchomienie.
Aby zmienić limit domyślny, możesz użyć edytora widoku kodu lub projektanta przepływu pracy, ponieważ zmiana ustawienia współbieżności za pomocą projektanta dodaje lub aktualizuje runtimeConfiguration.concurrency.repetitions właściwość w podstawowej definicji akcji "dla każdego" i odwrotnie. Ta właściwość steruje maksymalną liczbą iteracji, które mogą być uruchamiane równolegle.
Uwaga
Jeśli ustawisz akcję "dla każdego", która będzie uruchamiana sekwencyjnie przy użyciu projektanta lub edytora widoku kodu, nie ustawiaj właściwości akcji operationOptions na Sequential wartość w edytorze widoku kodu. W przeciwnym razie zostanie wyświetlony błąd weryfikacji. Aby uzyskać więcej informacji, zobacz Sekwencyjnie uruchamianie pętli "dla każdego".
Edytuj w widoku kodu
W podstawowej definicji "dla każdej" dodaj lub zaktualizuj runtimeConfiguration.concurrency.repetitions właściwość, która może mieć wartość z zakresu od 1 i 50.
Oto przykład, który ogranicza współbieżne uruchomienia do 10 iteracji:
Aby uzyskać więcej informacji, zobacz Ustawienia konfiguracji środowiska uruchomieniowego.
Edytowanie w projektancie przepływu pracy
W obszarze Dla każdej akcji w prawym górnym rogu wybierz przycisk wielokropka (...), a następnie wybierz pozycję Ustawienia.
W obszarze Kontrolka współbieżności ustaw dla kontrolki współbieżności wartość Włączone.
Przeciągnij suwak Degree of Parallelism (Stopień równoległości) do żądanej wartości. Aby uruchomić aplikację logiki sekwencyjnie, przeciągnij wartość suwaka na 1.
Zmienianie limitu oczekujących przebiegów
Domyślnie wystąpienia przepływu pracy aplikacji logiki są uruchamiane jednocześnie (współbieżnie lub równolegle). To zachowanie oznacza, że każde wystąpienie wyzwalacza jest uruchamiane przed zakończeniem działania wcześniej aktywnego wystąpienia przepływu pracy.
Istnieje jednak domyślny limit liczby równoczesnych uruchomionych wystąpień przepływu pracy. Gdy liczba współbieżnych przebiegów osiągnie ten limit, wszystkie inne nowe wystąpienia przepływu pracy muszą czekać na uruchomienie. Istnieje również limit domyślny liczby oczekujących wystąpień przepływu pracy. Gdy liczba oczekujących wystąpień osiągnie ten limit, usługa Azure Logic Apps nie akceptuje już nowych wystąpień przepływu pracy do uruchomienia. Wyzwalacze żądań i elementów webhook zwracają błąd 429 — zbyt wiele żądań, a wyzwalacze cykliczne zaczynają pomijać próby sondowania.
Możesz zmienić domyślny limit współbieżności wyzwalacza, a także domyślny limit oczekujących przebiegów. Jednak ta zmiana spowalnia przede wszystkim wyzwalacz, aby złagodzić ciśnienie z powodu współbieżności. Jeśli na przykład masz wyzwalacz sondowania, a kolejka oczekujących przebiegów jest pełna z powodu przebiegów w toku, usługa Azure Logic Apps przestanie sondować. Jeśli przepływ pracy używa wyzwalacza opartego na żądaniach, a kolejka oczekujących przebiegów jest pełna, usługa Azure Logic Apps zacznie zwracać błąd 429. Istnieją pewne scenariusze, w których usługa Azure Logic Apps nie może zatrzymać wyzwalacza z sondowania bez wprowadzania błędów i decyduje się na dodanie takich przebiegów do kolejki oczekujących przebiegów bez niepowodzenia przebiegów wywołań.
W podstawowej definicji wyzwalacza dodaj runtimeConfiguration.concurrency.maximumWaitingRuns właściwość , która może mieć wartość z zakresu od 1 do 100.
Aby uzyskać więcej informacji, zobacz Ustawienia konfiguracji środowiska uruchomieniowego.
Sekwencyjnie wyzwalacz wystąpień
Aby uruchomić każde wystąpienie przepływu pracy aplikacji logiki dopiero po zakończeniu działania poprzedniego wystąpienia, ustaw wyzwalacz, aby był uruchamiany sekwencyjnie. Możesz użyć edytora widoku kodu lub projektanta przepływu pracy, ponieważ zmiana ustawienia współbieżności za pomocą projektanta również dodaje lub aktualizuje runtimeConfiguration.concurrency.runs właściwość w podstawowej definicji wyzwalacza i odwrotnie.
Uwaga
Po ustawieniu wyzwalacza do uruchomienia sekwencyjnie przy użyciu projektanta lub edytora widoku kodu nie należy ustawiać właściwości wyzwalacza operationOptions na Sequential wartość w edytorze widoku kodu.
W przeciwnym razie zostanie wyświetlony błąd weryfikacji.
Edytuj w widoku kodu
W definicji wyzwalacza ustaw jedną z tych właściwości, ale nie obie.
runtimeConfiguration.concurrency.runs Ustaw właściwość na 1:
Aby uzyskać więcej informacji, zobacz Ustawienia konfiguracji środowiska uruchomieniowego i Opcje operacji.
Edytowanie w projektancie przepływu pracy
W prawym górnym rogu wyzwalacza wybierz przycisk wielokropka (...), a następnie wybierz pozycję Ustawienia.
W obszarze Kontrolka współbieżności ustaw wartość Limit na Włączone.
Przeciągnij suwak Degree of Parallelism (Stopień równoległości) do liczby 1.
Sekwencyjnie uruchamiaj pętle "dla każdego"
Aby uruchomić iterację pętli "dla każdego" dopiero po zakończeniu poprzedniej iteracji, ustaw akcję "dla każdego", aby uruchamiać sekwencyjnie. Możesz użyć edytora widoku kodu lub projektanta przepływu pracy, ponieważ zmiana współbieżności akcji za pomocą projektanta również dodaje lub aktualizuje runtimeConfiguration.concurrency.repetitions właściwość w podstawowej definicji akcji i na odwrót.
Uwaga
Po ustawieniu akcji "dla każdego" uruchamianej sekwencyjnie przy użyciu projektanta lub edytora widoku kodu nie należy ustawiać właściwości akcji operationOptions na Sequential w edytorze widoku kodu.
W przeciwnym razie zostanie wyświetlony błąd weryfikacji.
Edytuj w widoku kodu
W definicji akcji ustaw jedną z tych właściwości, ale nie obie.
runtimeConfiguration.concurrency.repetitions Ustaw właściwość na 1:
Aby uzyskać więcej informacji, zobacz Ustawienia konfiguracji środowiska uruchomieniowego i Opcje operacji.
Edytowanie w projektancie przepływu pracy
W prawym górnym rogu każdej akcji wybierz przycisk wielokropka (...), a następnie wybierz pozycję Ustawienia.
W obszarze Kontrolka współbieżności ustaw dla kontrolki współbieżności wartość Włączone.
Przeciągnij suwak Degree of Parallelism (Stopień równoległości) do liczby 1.
Uruchamianie akcji we wzorcu operacji synchronicznej
Domyślnie akcje HTTP i APIConnection w usłudze Azure Logic Apps są zgodne ze standardowym wzorcem operacji asynchronicznej, a akcja Odpowiedź jest zgodna ze wzorcem operacji synchronicznej. Wzorzec asynchroniczny określa, że po wywołaniu akcji lub wysłaniu żądania do określonego punktu końcowego, usługi, systemu lub interfejsu API odbiorca natychmiast zwraca odpowiedź "ZAAKCEPTOWANE" 202. Ten kod potwierdza, że odbiorca zaakceptował żądanie, ale nie zakończył przetwarzania. Odpowiedź może zawierać location nagłówek, który określa adres URL i identyfikator odświeżania, którego obiekt wywołujący może używać do ciągłego sondowania lub sprawdzania stanu żądania asynchronicznego, dopóki odbiorca nie przestanie przetwarzać i zwraca odpowiedź powodzenia "200 OK" lub inną odpowiedź inną niż 202. Aby uzyskać więcej informacji, zobacz Asynchroniczne integracje mikrousług wymusza autonomię mikrousług.
W Projektancie aplikacji logiki akcja HTTP, akcje APIConnection i akcja Odpowiedź mają ustawienie Wzorzec asynchroniczny. Po włączeniu tego ustawienia określa, że obiekt wywołujący nie czeka na zakończenie przetwarzania i może przejść do następnej akcji, ale kontynuuje sprawdzanie stanu do momentu zatrzymania przetwarzania. Jeśli to ustawienie jest wyłączone, określa, że obiekt wywołujący czeka na zakończenie przetwarzania przed przejściem do następnej akcji. Aby znaleźć to ustawienie, wykonaj następujące kroki:
Na pasku tytułu akcji HTTP wybierz przycisk wielokropka (...), który otwiera ustawienia akcji.
Znajdź ustawienie Wzorzec asynchroniczny.
W podstawowej definicji javaScript Object Notation (JSON) akcji HTTP i akcji APIConnection niejawnie postępuj zgodnie ze wzorcem operacji asynchronicznej.
W niektórych scenariuszach zamiast tego możesz chcieć wykonać akcję zgodnie ze wzorcem synchronicznym. Na przykład w przypadku korzystania z akcji HTTP możesz wykonać następujące czynności:
Punkty końcowe HTTP i HTTPS obsługują różne rodzaje uwierzytelniania. Na podstawie wyzwalacza lub akcji używanej do nawiązywania wywołań wychodzących lub żądań dostępu do tych punktów końcowych można wybrać spośród różnych zakresów typów uwierzytelniania. Aby uzyskać więcej informacji, zobacz Dodawanie uwierzytelniania do wywołań wychodzących.
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.
W tym module zademonstrowano najpopularniejsze typy wyzwalaczy umożliwiających wykonywanie funkcji usługi Azure Functions oraz sposób konfigurowania ich w celu wykonywania odpowiedniej logiki.