Skip to content

Starter template for a mini hands-on lab created with Azure Durable Functions with Function Chaining application pattern and with example integration with Azure Storage, Azure Service Bus, Sendgrid API and Twilio API

Notifications You must be signed in to change notification settings

jonahandersson/serverless-azure-durable-function-chaining-dotnet-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure Durable Functions (Function Chaining Example) in C# .NET (Starter Template)

Starter Template for Azure Serverless Durable Functions .NET Core

Author: Jonah Andersson

DESCRIPTION:

This is a starter template for Serverless deveöpment with Azure Durable Functions available to those you wants to try it out. A hands-on lab created with Azure Durable Functions with Function Chaining application pattern.

Function chaining - Azure Durable Functions

This template is prepared as starter template that allows you to develop Azure Functions (Durable Functions) serverless workflow with integration to other APIs such as Twilio API and Sendgrid API and Azure services - Azure Storage, ServiceBus etc.

OVERVIEW OF WORKFLOW

Azure Durable Functions - Function Chaining Example with Azure Service Bus, Twilio API, Sendgrid API and Azure BLOB Storage

EXPECTED RESULTS

  • Orchestration get trigged by an image or BLOB uploaded to the Azure Storage
  • Chain 1 - Sends queue message to Azure Service Bus
  • Chain 2 - Send SMS or make call using Twilio API
  • Chain 3 - Send email to configured email address using SendGrid API
  • Chain 4 - Lab Exercise to send to Azure Cosmos DB etc. (Guide: How to create Azure Cosmos DB Trigger)

PREREQUISITES AND LAB ENVIRONMENT SETUP

local.settings.json (Local Development Only)

RECOMMENDATION: Use Azure Key Vault and Managed Identities to secure your function application for Azure Durable Functions

{
   "IsEncrypted": false,
    "Values": {
    "AzureWebJobsStorage": "<PUT YOUR AZUREWEBJOBSSTORAGE CONNECTION STRING HERE>"
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",  
    "StorageConnectionString": "<YOUR AZURE STORAGE CONNECTION STRING HERE>"
    "AzureServiceBusConnectionString": "<PUT YOUR AZURE SERVICE BUS CONNECTION STRING HERE>",
    "ServiceBusQueueName": "blobstoragenotifierqueue",
    "Twilio_SID": "<YOUR TWILIO API SID>",
    "Twilio_Secret": "<YOUR TWILIO API SECRET KEY>",
    "Admin_Email": "<EMAIL ADDRESS TO RECEIVE EMAIL FOR SENDGRID EMAILS",
    "Admin_Name": "<YOUR NAME OR DUMMY NAME>",
    "Admin_Mobile": "<YOUR TEST MOBILE WITH COUNTRY CODE TO RECEIVE TWILIO API SMS & CALL>",
    "Twilio_Verified_Number": "<THE REGISTERED TWILIO API TRIAL ACCOUNT MOBILE NUMBER HERE>",   
    "SendGridAPIKey": "<YOUR SENDGRID API KEY HERE>",
    "CosmosDBEndPointUri": "<YOUR AZURE COSMOS DB ENDPOINT URI HERE",
    "CosmosDBKey": "<YOUR AZURE COSMOS DB KEY HERE>"
}

REQUIRED AZURE SERVICES AND API INTEGRATIONS

WHEN DEBUGGING AND DEVELOPING LOCALLY

When developing Azure Functions locally using this project. You should see similar like this when it is finished. It logs what is happening with your orchestration. You may also check on

TALKS - Azure Durable Functions at NDC Oslo Developer Conference 2021

Click on the image below to watch the recording of my talk for this session at the NDC Olso Conferene

Watch session on YouTube https://www.youtube.com/watch?v=C199S4R7cy8

RECOMMENDED LEARNING AND HANDS-ON RESOURCES

About

Starter template for a mini hands-on lab created with Azure Durable Functions with Function Chaining application pattern and with example integration with Azure Storage, Azure Service Bus, Sendgrid API and Twilio API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages