A cross tenant metadata driven processing framework for Azure Data Factory and Azure Synapse Analytics achieved by coupling orchestration pipelines with a SQL database and a set of Azure Functions.
The Azure Functions App used by the framework contains the following internal classes that support the public functions with reuseable methods and clients to authenticate against external Azure resources in a common way.
Namespace: mrpaulandrew.azure.procfwk.Helpers.
Raw HTTP Body requests are parsed, validated and represented as the following request types:
Methods:
Returns: value
Role: if the functions app needs to get a secret value from Azure Key Vault this methods wraps up the call to the respective key vault resource using the URL provided and authenticating against key vault using the Function App MSI.
Example Use:
string authenticationKey =
KeyVaultClient.GetSecretFromUri(authenticationKey);
Methods:
Returns: System.Net.Mail.SmtpClient
Role: creates a means of sending emails to an SMTP mailing service from the framework send email function. The client wraps up the authentication details and host information so the public function can focus on constructing the email/content to be sent.
Example Use:
using (var client = SMTPClient.CreateSMTPClient())
{
MailAddress from = new MailAddress(SMTPClient.FromEmail);
MailMessage mail = new MailMessage
{
From = from,
IsBodyHtml = true,
Subject = subject,
Body = message
};
mail.To.Add(toAddress);
mail.CC.Add(ccAddress);
mail.Bcc.Add(bccAddress);
client.Send(mail);
}
See InvalidRequestException class.