This repository contains the code and instructions for running an event-driven solution in Azure based on file uploads to Azure Storage.
It leverages the following technologies and services:
- GitHub Actions
- Terraform
- Azure Storage (Containers and Queues)
- Azure Event Grid
- Azure Functions
- Azure Log Analytics
To get started with this solution, follow the youtube video and refer back to the pre-requisites below.
Pre-Requisites:
-
Create a Microsoft Azure account and subscription.
-
In your account, create an app registration and service principal.
-
In your account, create a new resource group or use the default resource group.
-
Create the following repository secrets in GitHub:
- TERRAFORM_STORAGE_ACCOUNT_NAME
- SOLUTION_STORAGE_ACCOUNT_NAME
- RESOURCE_GROUP_NAME
- AZURE_SP_CREDENTIALS
-
Update the desired resource names in the
terraform/terraform.tfvars
file. -
Update the desired resource name of the Azure Function in the
.github/workflows/function-deploy.yml
file.
The Azure Service Principal secret that you store in GitHub should match the format shown below:
{
"clientId": "3984723**********",
"clientSecret": "s298Q~***********",
"subscriptionId": "lyk390-a*********",
"tenantId": "na892bs*************"
}