Menu / szukaj

Wysyłanie SMSów przy użyciu Azure Functions v2 – Twilio

Podobnie jak w przypadku wysyłania maili przy użyciu SendGrid-a zamieszczam opis sposobu integracji Azure Functions v2 z usługą Twilio.

W tym przypadku musimy zainstalować pakiet Microsoft.Azure.WebJobs.Extensions.Twilio z repozytorium NuGet. Następnie wystarczy wykorzystać następujący kod:

using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;

public static class SendNotificationSMS
{
  [FunctionName("SendNotificationSMS")]
  public static void Run(
    [TwilioSms(
      From = "Assigned by Twilio number",
      Body = "...")]
    out CreateMessageOptions messageOptions)
  {
    messageOptions = new CreateMessageOptions(
      new PhoneNumber("Phone number to which you would like to send message"));
  }
}

Nie jest to jednak wszystko. Oprócz tego musimy jeszcze dodać dwa wpisy do Application Settings:

  • AzureWebJobsTwilioAccountSid
  • AzureWebJobsTwilioAuthToken

Wartości, które należy do nich przypisać można odnaleźć na portalu Twilio.

Jeśli potrzebujesz uzupełnić wiedzę dotyczącą konfigurowania usługi Twilio zachęcam do zapoznania się z artykułem Wysyłanie SMSów przy użyciu Azure Functions – Twilio.

Wysyłanie maili z Azure Functions v2 – SendGrid

Jakiś czas temu opisałem jak można zintegrować usługę SendGrid z Azure Functions (artykuł: Wysyłanie maili z Azure Functions – SendGrid). Tekst jest cały czas aktualny, w szczególności jeśli chodzi o konfigurację samej usługi SendGrid. Dodać należy natomiast cześć dotyczącą integracji z Azure Functions v2. Od jakiegoś czasu wersja v2 funkcji jest już oficjalnie dostępna i wprowadza zmiany architektoniczne do środowiska.

Do tej pory (wersja v1 funkcji) miała wbudowane w siebie elementy odpowiedzialne za integrację. Powodowało to, że za każdym razem, gdy Microsoft próbował coś zmienić w tych elementach musiał zmienić całą platformę. W wersji drugiej, rzeczy związane z integracją zostały wyciągnięte poza ten obszar i są niezależne od środowiska Azure Functions. Powoduje to, że możemy już samodzielnie rozszerzyć platformę o nowe funkcjonalności. Dodatkowo zmienił się sposób wykorzystania tych elementów w kodzie. Czytaj dalej

Sprawdzanie pisowni w PowerPointcie – czyli jak zmienić język na wszystkich slajdach

Zastanawiam się jak często u Was trafia się taka mała rzecz, która mocno irytuje i myślicie, że nie można z nią nic zrobić. U mnie takim czymś było sprawdzanie pisowni w PowerPoint-cie. Obecnie wydaje mi się, że robiąc jakąkolwiek prezentację jedynym słusznym wyborem jest zrobienie jej w języku angielskim. I tu pojawia się drobna niedogodność w programie PowerPoint. Sprawdzanie pisowni potrafi płatać figle: Czytaj dalej

FluentValidation.Validators.UnitTestExtension wersja 1.4

Nowa wersja pakietu FluentValidation.Validators.UnitTestExtension jest dostępna. Pakiet umożliwia tworzenie testów jednostkowych Fluent Validator-ów w sposób bardziej efektywny.

W wersji 1.4 wprowadziłem następujące zmiany:

  • wprowadziłem możliwość szybkiego testowania nowych walidatorów – EnumValidator, MaxLengthValidator, MinLenghtValidator, ExactLengthValidator, ExclusiveBetweenValidator oraz InclusiveBetweenValidator
  • dodałem wsparcie dla .NETStandard 1.6 oraz .NETStandard 2.0

Projekt dostępny jest oczywiście na GitHubie.

Zdalne włączanie \ wyłączanie Azure Function

Dziś trochę inny temat. Czy zastanawialiście się kiedyś jak można wbudować w system możliwość wyłączania Azure Functions? Tak, aby nasza aplikacja była w stanie włączyć jakąś funkcję w miarę potrzeb i potem ją wyłączyć. Powodów takich wymagań może być wiele. Możemy przykładowo chcieć odroczyć przetwarzanie jakiś wiadomości do godzin nocnych, tak aby w trakcie dnia nasza funkcja nie obciążała elementu naszej infrastruktury. Innym dość często spotykanym pytaniem w trakcie różnego rodzaju meetupów lub hackatonów jest to czy jesteśmy w stanie w jakiś sposób wyłączyć funkcję automatycznie jeśli wykorzystamy darmową ilość wykonań funkcji. Czytaj dalej

Jak dbać o jakość kodu w naszym projekcie?

W poprzednią sobotę w trakcie prowadzenia wykładu o jakości oprogramowania trochę się zdziwiłem ponieważ dość duża liczba osób nie znała najprostszych narzędzi, które pozwalają poprawić jakość wytwarzanego oprogramowania. Koszt wdrożenia oraz utrzymywanie jakości w projekcie jest niewielki pod warunkiem, że pomyślimy o tym w momencie rozpoczynania pracy. Odkładanie tej decyzji w czasie powoduje, że rosną koszty naprawy potencjalnych błędów wprowadzonych w aplikacji.

Oczywiście docelowo zakładałbym, że naszym celem będzie utrzymanie poprawnego kodu, natomiast jeśli nie mamy na to wystarczającego budżetu to wdrożenie monitorowania jakości kodu pozwala nam na zorientowanie się w którym miejscu jesteśmy oraz określenie trendu. Czytaj dalej

Zapraszam na wrześniowe warsztaty

Choć mamy jeszcze maj, to już teraz chciałbym zaprosić Was na warsztaty które będę prowadził we wrześniu.

Pierwsze z nich – CosmosDB jako baza danych dla rozwiązań typu serverless – odbędą się w trakcie konferencji ProgNET London 2018 w dniu 13 września 2018 roku. Przez 3,5 godziny będziemy poznawać dokumentową bazę danych CosmosDB. Zaczniemy od krótkiego wstępu, potem poznamy najważniejsze funkcjonalności tego typu bazy danych, a następnie skupimy się na optymalizowaniu zapytań. Na koniec zastanowimy się jak można zoptymalizować koszty bazy danych. Dodatkowo można przedłużyć pobyt w Londynie na weekend i poznać miasto.

Drugi z nich – Serverless w Microsoft Azure – obędzie się już w Polsce – w Krakowie. W trakcie DevConf 2018 w dniu 26 września 2018 roku. W ich trakcie poznacie Azure Functions, Logic Apps, Flow oraz Event Grid. Nauczycie się jak w bardzo prosty sposób można zbudować skalowalny back-end dla naszych rozwiązań. I co najważniejsze wykorzystując podejście Serverless tworzenie skalowalnych i bezpiecznych aplikacji stało się bardzo proste. Możesz więc wykorzystać swoją kreatywność w celu wymyślania nowych funkcjonalności.

Do września jest jeszcze trochę czasu, ale kupując bilety na konferencje już teraz możecie trochę zaoszczędzić.