Robimy audiobooka

Robimy audiobooka

Lubię czytać książki. Ze względu na brak czasu wolę jednak ich słuchać. Niestety, nie wszyskie pozycje są dostępne jako audiobooki. Na szczęście większość możemy kupić w formacie epub. Jeżeli mamy epuba, to możemy poprosić Amazon Polly, żeby zrobiła nam audiobooka. Polly Amazonówna nie jest niestety w stanie zastąpić w pełni Macieja Stuhra lub Wiktora Zborowskiego, ale efekt końcowy naprawdę nadaje się do słuchania. Polly to usługa AWS, która zamienia tekst na pliki dźwiekowe. Dziś pokażę jak za pomocą Pythona i właśnie…

Read More Read More

Programujemy AWS – Step Functions. Jak prosto połączyć usługi serverless w jedną całość.

Programujemy AWS – Step Functions. Jak prosto połączyć usługi serverless w jedną całość.

Niedawno pisałem już o Step functions. Dla mnie są one czymś w rodzaju języka programowania. Za ich pomocą możemy tworzyć skomplikowane przepływy (workflows) korzystające z różnych komponentów AWS. Jestem teraz w trakcie realizacji projektu, który wykorzystuje między innymi te maszyny stanów, mam więc okazję, żeby pokazać kilka przykładów łącznie z kodem. Nie będzie niestety rzeczy z życia wziętych (tajne przez poufne), ale postaram się pokazać coś dla każdego ze stanów. Jak wiemy mamy pięć różnych stanów: Task – umozliwia wykonanie…

Read More Read More

AWS Parameter Store i NET.Core

AWS Parameter Store i NET.Core

Często pisząc jakieś oprogramowanie musimy korzystać z loginów, haseł i innych sekretnych rzeczy. Takie dane nigdy nie powinny lądować w repozytorium. Amazon Web Services oferuje nam fajną usługę o nazwie AWS Parameter Store. Pozwala ona na przechowanie i szyfrowanie takich „tajnych” danych. Możemy przechowywać w nim ciągi znaków i je szyfrować. Jestem właśnie w środku projektu więc pokaże jak wykorzystać AWS Parameter Store i NET.Core. Bez zbędnej teorii. Krótko i na temat. Przygotowania 1. Dodajemy paczkę Amazon.SimpleSystemsManagement. 2. Potrzebujemy klienta…

Read More Read More

Zombie apokalipsa w Łodzi

Zombie apokalipsa w Łodzi

Od niepamiętnych czasów, musimy stawiać czoło hordom zombie nacierających na nasze szczęśliwe poletka. Musimy się jakoś bronić. Czy czeka nas apokalipsa? Noe miał Arkę. My mamy Amazon Web Services i ich usługi. I Tomka Stachlewskiego, który poprowadził nas przez kilka bitew. Wszystkie wygraliśmy, ale po kolei. Po uratowaniu (o ile dobrze pamiętam) Poznania i Gdańska Armia Wyzwolenia Społeczeństwa zebrała się tym razem (2018.02.12) w Łodzi. Dojazd mam nie najgorszy, namówiłem jeszcze kolegę i postanowiłem sprawdzić się w boju. Tomek na…

Read More Read More

AWS Step Functions

AWS Step Functions

Wszyscy uwielbiamy funkcje Lambda. Prawda? Wszyscy? No… W tyle głowy tli mi się jednak myśl, że czasem potrzeba czegoś więcej. Czegoś, co pozwoli na zarządzanie i koordynację wielu funkcji Lambda w oparciu o jakiś workflow na przykład. Potrzebujemy użyć warunków, funkcji pracujących równolegle? Możemy jako takiego orkiestratora wykorzystać kolejną Lambdę. Możemy użyć, pojawiającego się jeszcze na egzaminach associate, SWF – Simple Workflow Service. W 2016 roku podczas re:Invent ukazały się jednak światu AWS Step Functions. Na co nam pozwalają? Na zarządzanie wywołaniami…

Read More Read More

Lambda context

Lambda context

Uruchomienie funkcji Lambda powoduje wywołanie handlera, czyli funkcji, która może wywołać inne funkcje lub zająć się obsługą przesłanych do niej danych. Szkielet takiego handlera w różnych językach wygląda podobnie: Node.js

Python

W C# (NET.Core) sprawa jest trochę bardziej skomplikowna, ale wywoływana funkcja wygląda tak

Co łączy wszystkie technologie? Event i context. Event to dane przesłane „z zewnątrz” do funckji Lambda. Context to parametr, który przekazuje handlerowi informacje na temat tzw. runtime, czyli wszystko co trzeba wiedzieć o…

Read More Read More

Jak za pomocą funkcji Lambda włączyć i wyłączyć serwer EC2 w AWS

Jak za pomocą funkcji Lambda włączyć i wyłączyć serwer EC2 w AWS

Pisałem już kilka razy o lambdach. Między innymi stawialiśmy api oparte na lambdzie. Dziś krótki i szybki tip, jak za pomocą funkcji Lambda włączyć i wyłączyć serwer EC2 w AWS. Obie funkcje napisane w Pythonie, korzystają z boto3. Myślę, że komentarze w kodzie wystarczą za manual. Włączamy maszynę tak:

A wyłączamy tak:

Obie funkcje muszą mieć oczywiście rolę, która im pozwoli na takie działania. Poniżej polityka którą powinniśmy podpiąć pod rolę która pozwoli funckji lambda tworzenie logów oraz…

Read More Read More

AWS SNS i NET.Core

AWS SNS i NET.Core

Pracuję nad projektem, w którym muszę pobrać dane z MySQL na AWS, przetworzyć je i zapisać do Azure SQL. Rozwiązanie będzie pracowało tylko raz na jakiś czas, staram sie więc wykorzystać dobrodziejstwa serverless. Piszę w Pythonie i NET.Core i dziś chciałem wysłać powiadomiania za pomocą AWS SNS i NET.Core i nie było tak hopsiup. Musiałem trochę poszperać i popróbować. Żaden znaleziony tutorial, żaden przykład nie działał. Nawet na StackOverflow nie znalazłem nic do dziedziczenia edytorowego (CTRL-C/CTRL-V) 🙂 Udało się coś…

Read More Read More

API Gateway – Autoryzacja

API Gateway – Autoryzacja

Jakiś czas temu pojawiły się nowe możliwości autoryzacji zapytań kierowanych do AWS API Gateway. Akurat miałem się tym zająć. Jakiś czas temu bawiliśmy się API połączonym z Lambdą. Rzadko mamy jednak do czynienia z aplikacjami, z których mogą korzystać wszyscy i to jeszcze anonimowi użytkownicy. Potrzebujemy autoryzacji. Out of the box AWS oferuje nam autoryzację za pomocą IAM.   Nie chcmy jednak przecież tworzyć użytkowników naszego API w IAM. Udostępniając światu jakieś API, skorzystamy z własnych metod autoryzacji. Na szczęście jest…

Read More Read More

Dane w plikach CSV, JSON i SQL? Tak. AWS Athena

Dane w plikach CSV, JSON i SQL? Tak. AWS Athena

Kilka dni temu okazało się, że będę musiał popracować trochę z plikami tekstowymi, w których zapisane są lokalizacje GPS. Pliki zapisane są w formacie JSON, wiele lokalizacji w jednym pliku. Dwa pliki to jeden dzień zbierania danych (dwa serwery zbierające dane). Problem polegał na tym, że potrzebuję lokalizacje dotyczące konkretnego wydarzenia, a więc miejsca i czasu. W jednym pliku mogą być dane dotyczące lokalizacji z kilku dni, ale przesłane tego, konkretnego dnia. Cache w urządzeniach itp. Pierwsze pomysły to jakieś…

Read More Read More