Wysyłanie, odbieranie i przetwarzanie wsadowe komunikatów w usłudze Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie)

Aby wysyłać i przetwarzać komunikaty w określony sposób jako grupy, możesz utworzyć rozwiązanie przetwarzania wsadowego. To rozwiązanie zbiera komunikaty do partii i czeka na spełnienie określonych kryteriów przed zwolnieniem i przetwarzaniem wsadowych komunikatów. Przetwarzanie wsadowe może zmniejszyć częstotliwość przetwarzania komunikatów przez aplikację logiki.

W tym przewodniku z instrukcjami pokazano, jak utworzyć rozwiązanie wsadowe przez utworzenie dwóch aplikacji logiki w ramach tej samej subskrypcji platformy Azure, regionu platformy Azure i w następującej kolejności:

  1. Aplikacja logiki "odbiornik wsadowy" , która akceptuje i zbiera komunikaty do partii, dopóki określone kryteria nie zostaną spełnione w celu zwolnienia i przetworzenia tych komunikatów. Upewnij się, że najpierw utworzysz ten odbiornik wsadowy, aby można było później wybrać miejsce docelowe partii podczas tworzenia nadawcy wsadowego.

  2. Co najmniej jedna aplikacja logiki "nadawca wsadowy" , która wysyła komunikaty do wcześniej utworzonego odbiornika wsadowego.

    Nadawca wsadowy może określić unikatowy klucz, który dzieli partię docelową na podzestawy logiczne na podstawie tego klucza. Na przykład numer klienta jest unikatowym kluczem. Dzięki temu aplikacja odbiorcy może zbierać wszystkie elementy o tym samym kluczu i przetwarzać je razem.

Odbiornik usługi Batch i nadawca wsadowy muszą współużytkować tę samą subskrypcję platformy Azure i region świadczenia usługi Azure. Jeśli tak nie jest, nie możesz wybrać odbiornika wsadowego podczas tworzenia nadawcy wsadowego, ponieważ nie są one widoczne dla siebie nawzajem.

Wymagania wstępne

Ograniczenia

  • Zawartość w partii można sprawdzić tylko po wydaniu, porównując wydaną zawartość ze źródłem.

  • Można zwolnić partię wcześniej tylko przez zmianę kryteriów wydania w odbiorniku wsadowym, który został opisany w tym przewodniku, podczas gdy wyzwalacz nadal ma partię. Jednak wyzwalacz używa zaktualizowanych kryteriów wydania dla wszystkich komunikatów, które nie są dostępne.

Tworzenie odbiornika wsadowego

Przed wysłaniem komunikatów do partii ta partia musi najpierw istnieć jako miejsce docelowe, w którym są wysyłane te komunikaty. Dlatego najpierw należy utworzyć aplikację logiki "odbiornik wsadowy", która rozpoczyna się od wyzwalacza usługi Batch . W ten sposób podczas tworzenia aplikacji logiki "nadawcy wsadowego" możesz wybrać aplikację logiki odbiornika wsadowego. Odbiornik wsadowy kontynuuje zbieranie komunikatów, dopóki określone kryteria nie zostaną spełnione do wydania i przetworzenia tych komunikatów. Chociaż odbiorcy wsadowi nie muszą nic wiedzieć o nadawcach wsadowych, nadawcy wsadowi muszą znać miejsce docelowe, w którym wysyłają komunikaty.

  1. W Azure Portal lub Visual Studio utwórz aplikację logiki o następującej nazwie:BatchReceiver

  2. W projektancie przepływu pracy dodaj wyzwalacz usługi Batch , który uruchamia przepływ pracy aplikacji logiki. W polu wyszukiwania wpisz batch, a następnie wybierz ten wyzwalacz: Komunikaty usługi Batch

    Wyzwalacz dodawania komunikatów usługi Batch

  3. Ustaw następujące właściwości dla odbiornika wsadowego:

    Właściwość Opis
    Tryb wsadowy - Wbudowane: do definiowania kryteriów wydania wewnątrz wyzwalacza wsadowego
    - Konto integracji: do definiowania wielu konfiguracji kryteriów wydania za pomocą konta integracji. Dzięki kontu integracji można obsługiwać te konfiguracje w jednym miejscu, a nie w oddzielnych aplikacjach logiki.
    Nazwa partii Nazwa partii, która jest "TestBatch" w tym przykładzie, i ma zastosowanie tylko do trybu wsadowego wbudowanego
    Kryteria wydania Dotyczy tylko trybu wsadowego wbudowanego i wybiera kryteria, które mają być spełnione przed przetworzeniem każdej partii:

    - Na podstawie liczby komunikatów: zwolnij partię na podstawie liczby komunikatów zebranych przez partię.
    - Na podstawie rozmiaru: zwolnij partię na podstawie całkowitego rozmiaru w bajtach dla wszystkich komunikatów zebranych przez partię.
    - Harmonogram: zwolnij partię na podstawie harmonogramu cyklu, który określa interwał i częstotliwość. W opcjach zaawansowanych możesz również wybrać strefę czasową i podać datę i godzinę rozpoczęcia.
    - Zaznacz wszystko: użyj wszystkich określonych kryteriów.

    Liczba komunikatów Liczba komunikatów do zebrania w partii, na przykład 10 komunikatów. Limit partii wynosi 8000 komunikatów.
    Rozmiar partii Łączny rozmiar w bajtach do zebrania w partii, na przykład 10 MB. Limit rozmiaru partii wynosi 80 MB.
    Zaplanuj Interwał i częstotliwość między wydaniami wsadowym, na przykład 10 minut. Minimalny cykl wynosi 60 sekund lub 1 minutę. Minuty ułamkowe są skutecznie zaokrąglane do 1 minuty. Aby określić strefę czasową lub datę i godzinę rozpoczęcia, otwórz listę Dodaj nowy parametr i wybierz odpowiednie właściwości.

    Uwaga

    Jeśli zmienisz kryteria wydania, gdy wyzwalacz będzie nadal wsadowy, ale komunikaty niewysadne, wyzwalacz używa zaktualizowanych kryteriów wydania do obsługi komunikatów, które nie są wsadowe.

    W tym przykładzie przedstawiono wszystkie kryteria, ale dla własnego testowania wypróbuj tylko jedno kryterium:

    Podaj szczegóły wyzwalacza usługi Batch

  4. Teraz dodaj jedną lub więcej akcji, które przetwarzają każdą partię.

    W tym przykładzie dodaj akcję, która wysyła wiadomość e-mail po wyzwoleniu wyzwalacza wsadowego. Wyzwalacz jest uruchamiany i wysyła wiadomość e-mail, gdy partia ma 10 wiadomości, osiągnie 10 MB lub po upływie 10 minut.

    1. W obszarze wyzwalacza wsadowego wybierz pozycję Nowy krok.

    2. W polu wyszukiwania wprowadź jako send email filtr. Na podstawie dostawcy poczty e-mail wybierz łącznik poczty e-mail.

      Jeśli na przykład masz konto służbowe, takie jak @fabrikam.com lub @fabrikam.onmicrosoft.com, wybierz łącznik microsoft 365 Outlook . Jeśli masz konto osobiste, takie jak @outlook.com lub @hotmail.com, wybierz łącznik Outlook.com . W tym przykładzie użyto łącznika microsoft 365 Outlook.

    3. Wybierz akcję "Wyślij wiadomość e-mail" dla dostawcy, na przykład:

      Wybieranie akcji

  5. W razie potrzeby zaloguj się do swojego konta e-mail.

  6. Ustaw właściwości dodanej akcji.

    • W polu Do wprowadź adres e-mail adresata. Do celów testowych możesz użyć własnego adresu e-mail.

    • W polu Temat po wyświetleniu listy zawartości dynamicznej wybierz pole Nazwa partycji .

      Z listy zawartości dynamicznej wybierz pozycję

      Później w nadawcy wsadowym można określić unikatowy klucz partycji, który dzieli partię docelową na podzestawy logiczne, w których można wysyłać komunikaty. Każdy zestaw ma unikatową liczbę wygenerowaną przez aplikację logiki nadawcy wsadowego. Ta funkcja umożliwia użycie pojedynczej partii z wieloma podzbiorami i zdefiniowanie każdego podzestawu o podanej nazwie.

      Ważne

      Partycja ma limit 5000 komunikatów lub 80 MB. Jeśli dowolny warunek zostanie spełniony, usługa Logic Apps może zwolnić partię, nawet jeśli zdefiniowany warunek wydania nie zostanie spełniony.

    • W polu Treść po wyświetleniu listy zawartości dynamicznej wybierz pole Identyfikator wiadomości .

      Projektant przepływu pracy automatycznie dodaje pętlę Dla każdej pętli wokół akcji wysyłania wiadomości e-mail, ponieważ ta akcja traktuje dane wyjściowe z poprzedniej akcji jako kolekcję, a nie partię.

      W polu

  7. Zapisz aplikację logiki. Utworzono odbiornik wsadowy.

    Zapisywanie aplikacji logiki

    Ważne

    Jeśli używasz programu Visual Studio, przed przejściem do następnej sekcji upewnij się, że najpierw wdrożysz aplikację logiki odbiornika wsadowego na platformie Azure. W przeciwnym razie nie można wybrać odbiornika wsadowego podczas tworzenia nadawcy wsadowego.

Tworzenie nadawcy wsadowego

Teraz utwórz co najmniej jedną aplikację logiki nadawcy wsadowego, która wysyła komunikaty do aplikacji logiki odbiornika wsadowego. W każdym nadawcy wsadowym należy określić odbiornik partii i nazwę partii, zawartość komunikatu i wszelkie inne ustawienia. Opcjonalnie można podać unikatowy klucz partycji, aby podzielić partię na podzestawy logiczne do zbierania komunikatów przy użyciu tego klucza.

  • Upewnij się, że wcześniej utworzono i wdrożono odbiornik wsadowy , więc podczas tworzenia nadawcy wsadowego możesz wybrać istniejący odbiornik partii jako docelową partię. Podczas gdy odbiorniki wsadowe nie muszą wiedzieć nic o nadawcach wsadowych, nadawcy wsadowi muszą wiedzieć, gdzie wysyłać komunikaty.

  • Upewnij się, że odbiornik wsadowy i nadawca wsadowy współużytkuje ten sam region platformy Azure i subskrypcję platformy Azure. Jeśli tak nie jest, nie możesz wybrać odbiornika wsadowego podczas tworzenia nadawcy wsadowego, ponieważ nie są one widoczne dla siebie nawzajem.

  1. Utwórz inną aplikację logiki o tej nazwie: BatchSender

    1. W polu wyszukiwania wprowadź recurrence jako filtr. Z listy wyzwalaczy wybierz ten wyzwalacz: Cykl

      Dodawanie wyzwalacza cyklu

    2. Ustaw interwał i częstotliwość uruchamiania aplikacji logiki nadawcy co minutę.

      Ustawianie częstotliwości i interwału dla wyzwalacza cyklu

  2. Dodaj nową akcję wysyłania komunikatów do partii.

    1. W obszarze wyzwalacza Cykl wybierz pozycję Nowy krok.

    2. W polu wyszukiwania wprowadź batch jako filtr i wybierz tę akcję: Wybierz przepływ pracy usługi Logic Apps z wyzwalaczem wsadowym

      Wybierz pozycję

      Zostanie wyświetlona lista zawierająca tylko te aplikacje logiki, które mają wyzwalacze wsadowe i istnieją w tym samym regionie platformy Azure i subskrypcji platformy Azure co aplikacja logiki nadawcy wsadowego.

    3. Z listy aplikacji logiki wybierz wcześniej utworzoną aplikację logiki odbiornika wsadowego.

      Wybieranie aplikacji logiki odbiornika wsadowego

      Ważne

      Jeśli używasz programu Visual Studio i nie widzisz żadnych odbiorników wsadowych do wybrania, sprawdź, czy wcześniej utworzono i wdrożono odbiornik wsadowy na platformie Azure. Jeśli jeszcze tego nie zrobiono, dowiedz się, jak wdrożyć aplikację logiki odbiornika wsadowego na platformie Azure.

    4. Z listy akcji wybierz tę akcję: Batch_messages — <nazwa-logika-aplikacja>

      Wybierz tę akcję:

  3. Ustaw właściwości nadawcy wsadowego:

    Właściwość Opis
    Nazwa partii Nazwa partii zdefiniowana przez aplikację logiki odbiorcy, która znajduje się TestBatch w tym przykładzie

    Ważne: nazwa partii jest weryfikowana w czasie wykonywania i musi być zgodna z nazwą określoną przez aplikację logiki odbiorcy. Zmiana nazwy partii powoduje niepowodzenie nadawcy wsadowego.

    Zawartość wiadomości Zawartość wiadomości, którą chcesz wysłać

    Uwaga

    Wartości właściwości Nazwa wyzwalacza i Przepływ pracy są automatycznie wypełniane z wybranej aplikacji logiki.

    W tym przykładzie dodaj to wyrażenie, które wstawia bieżącą datę i godzinę do zawartości wiadomości wysyłanej do partii:

    1. Kliknij wewnątrz pola Zawartość wiadomości .

    2. Po wyświetleniu listy zawartości dynamicznej wybierz pozycję Wyrażenie.

    3. Wprowadź wyrażenie utcnow(), a następnie wybierz przycisk OK.

      W obszarze

  4. Teraz skonfiguruj partycję dla partii. BatchReceiver W akcji otwórz listę Dodaj nowy parametr i wybierz następujące właściwości:

    Właściwość Opis
    Nazwa partycji Opcjonalny unikatowy klucz partycji używany do dzielenia partii docelowej na podzestawy logiczne i zbieranie komunikatów na podstawie tego klucza
    Identyfikator komunikatu Opcjonalny identyfikator komunikatu, który jest wygenerowanym globalnie unikatowym identyfikatorem (GUID), gdy jest pusty

    W tym przykładzie w polu Nazwa partycji dodaj wyrażenie, które generuje losową liczbę między jedną a pięcioma. Pozostaw puste pole Identyfikator wiadomości .

    1. Kliknij wewnątrz pola Nazwa partycji , aby wyświetlić listę zawartości dynamicznej.

    2. Na liście zawartości dynamicznej wybierz pozycję Wyrażenie.

    3. Wprowadź wyrażenie rand(1,6), a następnie wybierz przycisk OK.

      Konfigurowanie partycji dla docelowej partii

      Ta funkcja rand generuje liczbę z zakresu od jednego do pięciu. Tak więc dzielisz tę partię na pięć partycji numerowanych, które to wyrażenie dynamicznie ustawia.

  5. Zapisz aplikację logiki. Aplikacja logiki nadawcy wygląda teraz podobnie do tego przykładu:

    Zapisywanie aplikacji logiki nadawcy

Testowanie aplikacji logiki

Aby przetestować rozwiązanie wsadowe, pozostaw aplikacje logiki uruchomione przez kilka minut. Wkrótce zaczniesz otrzymywać wiadomości e-mail w grupach pięciu z tym samym kluczem partycji.

Aplikacja logiki nadawcy wsadowego jest uruchamiana co minutę i generuje losową liczbę z zakresu od jednej do pięciu. Nadawca wsadowy używa tej losowej liczby jako klucza partycji dla docelowej partii, w której są wysyłane komunikaty. Za każdym razem, gdy partia ma pięć elementów z tym samym kluczem partycji, aplikacja logiki odbiornika wsadowego uruchamia i wysyła wiadomość e-mail dla każdej wiadomości.

Ważne

Po zakończeniu BatchSender testowania upewnij się, że wyłączysz aplikację logiki, aby zatrzymać wysyłanie komunikatów i uniknąć przeciążenia skrzynki odbiorczej.

Następne kroki