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

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

Wysyłanie maili z Azure Functions – SendGrid

Staram się przekonać programistów, że obecnie powinniśmy zmienić nasze podejście do budowania aplikacji w sposób efektywny. Dotychczasowe budowanie aplikacji w sposób samodzielny od prawie zera powinniśmy zamienić na komponowanie rozwiązania przy wykorzystaniu gotowych elementów. Tak, aby ograniczyć ilość wytwarzanego przez nas kodu. Pewnie zgodzicie się, ze mną, że wraz ze zmniejszeniem ilości kodu, maleje również prawdopodobieństwo popełnienia błędu.

Taki podejście chciałbym zastosować w tym przypadku. Naturalnym wyborem dla wysyłania maili w przypadku Azure Functions jest usługa SendGrid. Czytaj dalej