Skip to content

Instantly share code, notes, and snippets.

View sirkirby's full-sized avatar
:octocat:

Chris Kirby sirkirby

:octocat:
View GitHub Profile
{
"frameworks": {
"net46":{
"dependencies": {
"Newtonsoft.Json": "8.0.3",
"Slack.Webhooks": "0.1.6"
}
}
}
}
@sirkirby
sirkirby / azure-function-sbtrigger-excode.cs
Last active May 13, 2016 17:11
process service bus message, do some work, and then send a message to slack
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Slack.Webhooks;
public static void Run(string myQueueItem, TraceWriter log)
{
@sirkirby
sirkirby / azureRestApiSharedKey.js
Created January 24, 2017 19:33
Azure Storage API Authorization Shared Key generation - Runscope
// requires CryptoJS and Moment javascript libraries
// set the initial variables on your test
var storageAccount = variables.get("accountName");
var accountKey = variables.get("accountKey");
var date = moment().format("ddd, DD MMM YYYY HH:mm:ss");
var data = date + "\n" +
"/" + storageAccount + " /Tables"
// utf-8 encoding
var encodedData = unescape(encodeURIComponent(data));
// encrypt and encode the data
@sirkirby
sirkirby / azureRestTableQuery-Runscope.json
Created January 24, 2017 19:58
Runscope Azure Storage API Table Query
{
"trigger_url": "https://api.runscope.com/radar/fcb31ec5-f6ac-43a4-ac7c-999999999999/trigger",
"name": "Azure Storage",
"version": "1.0",
"exported_at": 1485287745,
"steps": [
{
"url": "https://{{accountName}}.table.core.windows.net/{{tableName}}(PartitionKey='12345',RowKey='678910')",
"variables": [],
"args": {},
@sirkirby
sirkirby / azureRestTableQuerySAS-Runscope.json
Created January 24, 2017 20:55
Runscope Azure Storage API Table Query w/ SAS
{
"trigger_url": "https://api.runscope.com/radar/fcb31ec5-f6ac-43a4-ac7c-999999999999/trigger",
"name": "Azure Storage",
"version": "1.0",
"exported_at": 1485291106,
"steps": [
{
"url": "https://{{accountName}}.table.core.windows.net/{{tableName}}?st=2017-01-23T20:39:00Z&se=2018-01-24T20:39:00Z&sp=raud&sv=2015-12-11&tn={{tableName}}&sig=9999999999999999999999999999999=&$filter=PartitionKey eq '12345' and RowKey eq '678910'",
"variables": [],
"args": {},
@sirkirby
sirkirby / csharp-web-server-sample.csx
Last active March 27, 2017 21:50
scriptcs web api w/ controller that lists directory contents
using System.IO;
using System.Reflection;
using System.Web.Http;
using System.Web.Http.SelfHost;
using System.Web.Http.Dispatcher;
public class ControllerResolver : DefaultHttpControllerTypeResolver
{
public override ICollection<Type> GetControllerTypes(IAssembliesResolver assembliesResolver)
{
@sirkirby
sirkirby / SerilogEventGridCustomizedConfig.cs
Created October 6, 2017 21:34
Serilog Event Grid sink configuration with custom destructure of an assumed large object
Logger = new LoggerConfiguration()
.Enrich.WithMachineName()
.Enrich.WithProcessId()
.Enrich.WithProcessName()
.Destructure.ByTransforming<UserContext>(d => new
{
d.Id,
d.Name,
d.IsActive
})
@sirkirby
sirkirby / SerilogEventGridConfig.cs
Created October 6, 2017 21:35
Basic Serilog Event Grid sink configuration
Logger = new LoggerConfiguration()
.WriteTo.EventGrid()
.CreateLogger();
@sirkirby
sirkirby / MyEventGridSinkApp.config.xml
Created October 6, 2017 21:50
.NET app.config excerpt with configuration information for the serilog event grid sink
<appSettings>
<add key="EventGridTopicUri" value="https://my-custom-topic.westus2-1.eventgrid.azure.net/api/events" />
<add key="EventGridTopicKey" value="MyKeyOrSASToken" />
</appSettings>
@sirkirby
sirkirby / EventGridSinkLogEvent1.cs
Last active October 7, 2017 01:36
Sending a custom event grid log through serilog event grid sink
// using the ILogger Event extension methods
Logger.Event("import", $"myApp/myLogic/customRecord", "Processing completed {@recordCount}", records.Count);
Log.EventType("import", "Processing completed {@recordCount}", records.Count);
Log.EventSubject("myApp/myLogic/customRecord", "Processing completed {@recordCount}", records.Count);
// use attributes
[EventGridSubject("myApp/myLogic/customRecord")]
public class MyImportClass
{
[EventGridType("import")]