Twórz Własne Automatyzacje
3 godz. 14 min · Make · Biznes i Automatyzacje
Adam GospodarczykKorzystając z różnych narzędzi, na przykład do obsługi mailingu, masz do dyspozycji na ogół kilka wbudowanych integracji - przykładowo połączenie z kalendarzem czy bramką płatności. Wyobraź sobie, że takie narzędzie możesz połączyć praktycznie z dowolnym innym, nawet jeśli nie ma go na liście. To właśnie potencjał Make, które umożliwi takie automatyzacje.
Jeśli znasz Zapier, Make to podobna koncepcja, ale daje dużo bardziej zaawansowane możliwości, jest dużo tańsza (lub darmowa) a dodatkowo, ma naszym zdaniem bardziej przyjazny i czytelny interfejs zwłaszcza przy tworzeniu rozgałęzionych scenariuszy. Tworzenie automatyzacji z Make to czysta przyjemność i zdrowa porcja dopaminy!
Co najważniejsze, Make umożliwia tworzenie automatyzacji bez użycia ani jednej linii kodu! To jak programowanie 2.0, gdzie rezultaty widzisz i testujesz w prostym, wizualnym edytorze. To najłatwiejszy sposób aby zacząć przygodę z programowaniem i nowoczesnym podejściem do technologii no-code i low-code.
Mimo, że Make jest natywnym środowiskiem no-code, osoby, które nieco lepiej rozumieją zasady działania protokołu HTTP i API i mają podstawy programowania w JS, otrzymują zupełnie nowe możliwości tworzenia oprogramowania, w sposób wizualny i prostszy niż kiedykolwiek. Jeśli osoby początkujące z Make stają się programistami, programiści stają się superbohaterami!
Wyjątkowe w Make jest podejście do tworzenia automatyzacji wizualnie, gdzie bardzo czytelne jest całe flow scenariusza i to, jak przepływają w nim dane. Zaawansowane możliwości jak stosowanie filtrów czy funkcji sprawia, że w tak prostym interfejsie w zasadzie nie ma zadań niemożliwych!
Z dowolnego narzędzia możesz wysłać dane w postaci Webhooka do Make, które zostaną natychmiastowo odebrane. Następnie możesz łatwo przekazać je w dowolne miejsce i do dowolnego narzędzia - na przykład Airtable, z którego często korzystamy aby gromadzić dane, HubSpot'a, Asany czy wysłać powiadomienie SMS, e-mail, Slack. Całość zajmie Ci kilka minut.
Ten kurs jest przeznaczony dla każdej osoby, która chce pracować wydajniej i zatrudnić roboty (automatyzacje), które wykonają za nią powtarzalne zadania. Dzięki temu, zwiększysz efektywność swojej pracy oraz zostaniesz bohaterem automatyzacji w swojej firmie. Osoby, które przerobiły kurs HTTP i API, a także programiści, mogą wycisnąć z tego kursu jeszcze więcej, na dobre zmieniając swoje podejście do automatyzacji. Polecamy wcześniejsze przerobienie przynajmniej kursu HTTP i API, aby lepiej zrozumieć omawiane zagadnienia.
Cześć! W tej lekcji pokażę Ci dwie ostatnie
dyrektywy dotyczące obsługi błędów i będą to mianowicie Commit oraz Ignore.
Jeżeli chodzi o nasz scenariusz, pobiera on dane z naszej tabeli Airtable,
a następnie aktualizuje rekordy poszczególnych wpisów.
Zrobimy jednak tak, że w przypadku
drugiego wpisu wystąpi błąd związany z błędnym identyfikatorem.
Zatem teraz, aby obsłużyć ten błąd możemy
tutaj podłączyć dyrektywę Commit, która zadziała w następujący sposób.
Przede wszystkim tutaj warto zwrócić uwagę
na fakt, że w pierwszym module zostały pobrane trzy pakiety danych.
Następnie drugi moduł został wykonany
tylko dwa razy i w jednym przypadku został zwrócony błąd.
Pomimo tego, jeżeli cofniemy do poprzedniego widoku, to widzimy, że nasz
scenariusz został oznaczony jako wykonany pomyślnie.
Mało tego, tak jak było widać, pozostałe
pakiety danych nie zostały w ogóle przetworzone.
Oznacza to, że w przypadku zastosowania
dyrektywy Commit scenariusz zostaje natychmiast zatrzymany.
Wszystkie pozostałe pakiety danych nie
będą przetworzone, a jeszcze dodatkowo do wszystkich modułów zostaje wysłana
informacja o zatwierdzenie wszystkich wprowadzonych zmian.
Oznacza to, że scenariusz zachowuje się
tak, jakby wykonał się poprawnie, ale jednocześnie w sposób niejawny.
Ignoruje wszystkie pozostałe dane, które do tej pory nie zostały przetworzone.
Z kolei jeżeli teraz zestawimy sobie to zachowanie z zachowaniem dyrektywy Ignore,
to po jej wykonaniu zobaczymy jasną różnicę.
Mianowicie w tym przypadku ponownie zostały pobrane trzy pakiety danych.
Trzy pakiety danych zostały również tutaj
przetworzone i tylko w przypadku drugiego wystąpił błąd, który został zignorowany,
więc pozostałe pakiety danych zostały przetworzone, a dodatkowo ogólne wykonanie
naszego scenariusza zostało oznaczone etykietą sukcesu.
Oznacza to, że dyrektywy takie jak Igonore oraz Commit stosujemy w przypadku, gdy
wystąpienia błędu ma w żaden sposób nie blokować wykonania naszego scenariusza.
Dodatkowo w przypadku zastosowania tej
pierwszej nie interesuje nas również kontynuowanie wykonania tego scenariusza
oraz jakiekolwiek informowanie nas o tym, że wystąpił tutaj błąd.
Tutaj z doświadczenia wiem, że zastosowanie dyrektywy Ignore jak
najbardziej sprawdza się w praktyce w przypadku akcji, które wykonujemy, ale
jednocześnie ewentualny błąd zupełnie nas nie interesuje.
Może to być chociażby wysłanie jakiegoś
potwierdzenia czy notyfikacji dla nas, bądź też np.
w przypadku niektórych modułów zdarza się tak, że zwracają one błąd nawet w
sytuacji, gdy teoretycznie nie będziemy tego interpretować jako błąd.
Ostatecznie jednak najważniejszą rzeczą, którą musisz wiedzieć na temat tych
dyrektyw jest fakt, że w żaden sposób nie informują Cię one o wystąpieniu błędu.
Jednocześnie też ich zastosowanie może sprawić, że Twój scenariusz nie będzie
wyłączał się co chwilę w sytuacji, gdy będzie wykorzystywał jakieś moduły.
W przypadku, których wystąpienia błędów będą powszechne.
Dodatkowo możesz zastosować tutaj połączenie również ze Slack'iem,
bądź jakimś innym systemem służącym do notyfikacji i obsługiwać błędy w taki
sposób, aby po prostu informować się o ich wystąpieniu.
Natomiast jednocześnie sam scenariusz nie zostanie tutaj wstrzymany i każdy kolejny
moduł zostanie wykonany tak, jakby nic się nie stało.
Tutaj jeszcze warto zaznaczyć, że taką obsługę błędów musisz przypisać do każdego
modułu, w przypadku którego spodziewasz się błędów.
To w jaki sposób na nie zareagujesz zależy tak naprawdę wyłącznie od Ciebie.
I tutaj, jeżeli zajrzymy sobie do dokumentacji,
mamy tak naprawdę dokładnie informacje, o których już powiedziałem.
Jednocześnie też w przypadku Commit'u mamy tutaj informację o tym, że wykonywana jest
faza Commit. Aby zrozumieć czym ona dokładnie jest.
Należy zrozumieć, jak wykonywane są scenariusze w Integromacie.
Mianowicie, podobnie jak w przypadku
języków programowania, w przypadku których interpretowany jest kod. W Integromacie
wykonanie scenariuszy możemy podzielić właśnie na poszczególne fazy.
Pierwszą z nich jest faza inicjalizacji,
czyli momentu, w którym Integromat sprawdza dostępne połączenia.
To czy wszystkie dane w modułach są podłączone poprawnie itd.
Jej działanie możesz zaobserwować np.
w sytuacji, w której spróbujesz wykonać scenariusz, ale otrzymujesz
informację o błędach, które się w nim znajdują.
Te błędy wynikają z faktu, że właśnie scenariusz
nie przeszedł fazy inicjalizacji i tym samym nie mógł być dalej wykonywany.
Następnie mamy tutaj cykle, o których mówiłem już w jednej z poprzednich lekcji.
Reprezentują one sytuację, w przypadku, której np. scenariusz uruchamiany jest co
15 minut i w międzyczasie są przesyłane na niego dane.
Możesz zdefiniować, ile informacji
zostanie przetwarzanych w ramach takiego jednego cyklu po to, aby np.
uchronić się przed sytuacją, w przypadku której do jednego cyklu trafi duża ilość
danych i tym samym szybkie wykonanie operacji na poszczególnych usługach.
Może to prowadzić np.
do tymczasowego zablokowania Twojego API ze względów bezpieczeństwa.
Z tego powodu warto pamiętać o tym, aby odpowiednio skonfigurować sobie cykle.
Na szczęście zwykle nie musimy o tym
pamiętać, ponieważ domyślną wartością jest tutaj pojedyncza paczka danych.
Następnie mamy fazę wykonywania operacji, czyli odczytywania lub zapisywania
wartości. No i w momencie, gdy te operacje zostaną
wykonane, następuje faza zatwierdzenia dokonanych zmian.
I tak jak wspomniałem, tylko niektóre moduły to wspierają, ponieważ np.
Airtable wprowadza zmiany w rekordach
natychmiast i ich cofnięcie nie jest możliwe.
A jeżeli już o cofaniu mowa, to mamy jeszcze fazę Rollback, która polega
właśnie na tym, że w przypadku wystąpienia jakiejś błędów związanych z podejmowanymi
operacjami wszystkie operacje dokonane wcześniej zostaną cofnięte.
Pamiętaj jednak proszę o tym, że tylko niektóre moduły wspierają taką funkcję.
No i ostatecznie mamy jeszcze fazę
finalizacji, czyli zamknięcia wszystkich nawiązanych połączeń, np.
połączeń z serwerem FTP czy jakimiś bazami
danych i tym samym zakończenie całej automatyzacji.
Tym sposobem omówiliśmy sobie już wszystkie dyrektywy dotyczące obsługi
błędów w Integromacie. Gorąco zachęcam Cię do tego, aby
przetestować ich działanie oraz zacząć wykorzystywać w praktyce.
Raz jeszcze pamiętaj proszę o tym, aby z
rozwagą korzystać z dyrektyw takich jak Ignore oraz Commit.
Wynika to z faktu, że bardzo łatwo doprowadzić do sytuacji, że z jednej
strony Twoje scenariusze nie będą się zatrzymywać, ale jednocześnie nie będziesz
mieć informacji o tym, że występują w nich jakiekolwiek błędy.
Moje doświadczenie wskazuje raczej na to, że lepiej jest doprowadzić do sytuacji, w
której scenariusz zostanie zatrzymany i ręcznie będziemy w stanie naprawić błąd,
niż w sytuacji, w której o błędzie nie zostaniemy poinformowani.
A teraz już nie pozostaje mi nic innego, jak zaprosić Cię do kolejnych lekcji.