Skip to content

Instantly share code, notes, and snippets.

View tonyjoanes's full-sized avatar
😏
LLM Learning

Tony Joanes tonyjoanes

😏
LLM Learning
View GitHub Profile

Absolutely, Tony — here’s a structured summary you can use to build a compelling case for adopting Azure Event Grid in your architecture. I’ve tailored it to highlight the strategic benefits, technical fit, and how it aligns with your goals around scalability, encryption workflows, and platform engineering.


📘 Executive Summary

Azure Event Grid is a fully managed, serverless event routing service designed for high-throughput, low-latency delivery of discrete events. It enables reactive, event-driven architectures that decouple publishers and subscribers, reducing infrastructure overhead and improving scalability.


Absolutely, Tony. Here's a rational breakdown of your architecture options in a comparison table that weighs reliability, complexity, and infrastructure overhead:


🧮 Blob Processing & Encryption Flow Options

Option Trigger Type Infra Overhead Reliability Metadata Flexibility Ease of Scaling Notes
Classic Blob Trigger Polling Low ❌ Risk of missed events ✅ Fetchable from blob 🚧 Limited Simple to implement but not recommended for production workloads
Event Grid → Azure Function Push via Event Grid Moderate ✅ Highly reliable ✅ Included in event or fetchab
flowchart TD
  A[SQL/Blob Storage Source] --> B[ADF Pipeline: Copy Data activity]
  B --> C[Azure Blob Storage: Raw CSV file]
  C --> D[ADF Pipeline: Custom Activity (PGPEncryptor.exe)]
  D --> E[Azure Batch Pool VM: Runs PGPEncryptor with inputs]
  E --> F[PGPEncryptor: Reads CSV, Public Key, Encrypts with Bouncy Castle]
  F --> G[Azure Blob Storage: Encrypted CSV file (.pgp)]
  G --> H[ADF Pipeline: Next Activity (e.g., Copy to SFTP/Salesforce)]
using System.Text;
using Azure.Storage.Blobs;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
using Org.BouncyCastle.Bcpg;
using Org.BouncyCastle.Bcpg.OpenPgp;
using Org.BouncyCastle.Security;
namespace EncryptBlobFunction;
@tonyjoanes
tonyjoanes / 10xExcellenceAnalysisPrompt.md
Last active January 13, 2025 11:08
10X Excellence Analysis Template

You are tasked with analyzing a situation and providing exceptional, 10x solutions using a specific framework. Your goal is to go above and beyond standard approaches, identifying opportunities for differentiation and lasting advantages through exceptional effort.

Here's the situation you'll be analyzing:

<primary_challenge> {{PRIMARY_CHALLENGE}} </primary_challenge>

<current_industry_approach> {{CURRENT_INDUSTRY_APPROACH}}

@tonyjoanes
tonyjoanes / AngularJS_Services.js
Created October 21, 2019 11:23
AngularJS Services
(function () {
'use strict';
var serviceId = 'myService';
angular.module('app', serviceId);
myService.$inject = ['dependencyOne', 'dependencyTwo'];
function myService(
@tonyjoanes
tonyjoanes / angularjs_controllers3.js
Created October 18, 2019 14:12
AngularJS Controllers function declaration at the top
(function () {
'use strict';
var MyController = function (dependencyOne, dependecyTwo) {
var vm = this;
vm.data = {
greetingMessage: 'Hello I am some data from the controller',
clickHandler: dependecyOne.click
}
@tonyjoanes
tonyjoanes / angularjs_controllers2.js
Last active October 18, 2019 14:14
AngularJS Controllers using $inject
(function () {
'use strict';
angular
.module('app')
.controller('MyController', MyController);
MyController.$inject = ['dependencyOne', 'dependecyTwo'];
function MyController(
(function () {
'use strict';
// Define the dependencies within an array and have a
// separate clean function for the controller code
angular
.module('app')
.controller('MyController'[
'dependecyOne',
'dependecyTwo',
// working d. bodnar 12-21-2017
/*
static const uint8_t D0 = 16;
static const uint8_t D1 = 5;
static const uint8_t D2 = 4;
static const uint8_t D3 = 0;
static const uint8_t D4 = 2;
static const uint8_t D5 = 14;
static const uint8_t D6 = 12;