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

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

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

Azure Function – Upload zdjęć do Azure Blob Storage

Dziś kolejny przykład użycia Azure Functions w kodzie produkcyjnym. Problem jest dość prosty – chcemy wykorzystać funkcję do wgrania zdjęcia do Azure Blob Storage. Oczywiście można było wgrać zdjęcie od razu do Azure Blob Storage, ale takie podejście powoduje dość silne uzależnienie się od tego rozwiązania. Z tego powodu została zastosowana funkcja jako element pośredni.

Funkcja ta stanowi API pozwalające na przesłanie zdjęcia zakodowanego w base64 do wybranego przez nas miejsca. Takie podejście pozwoli nam w przyszłości na łatwą zmianę wybranego rozwiązania służącego do przechowywania plików. Czytaj dalej

Optymalizacja kosztów korzystania z API RoyalMail za pomocą Azure Functions

Chciałbym się z Wami podzielić rozwiązaniem, które ostatnio zastosowałem w celu zmniejszenia kosztów związanych z wykorzystania API udostępnianego przez RoyalMail. W jednym z projektów, klient poprosił o możliwość uzupełniania adresu na podstawie wpisanego kodu pocztowego. Problem dotyczył systemu działającego w Anglii, a tam na podstawie kodu pocztowego można ustalić bardzo dokładnie adres. Pozwala to przyspieszyć znacząco wprowadzanie adresu w różnego rodzaju formularzach. Czytaj dalej