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