Skip to content

Instantly share code, notes, and snippets.

View JeremyLikness's full-sized avatar

Jeremy Likness JeremyLikness

View GitHub Profile
@JeremyLikness
JeremyLikness / proxies.json
Last active September 2, 2017 15:32
Proxy definitions
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"Domain Redirect": {
"matchCondition": {
"route": "/{*shortUrl}"
},
"backendUri": "http://%WEBSITE_HOSTNAME%/api/UrlRedirect/{shortUrl}"
},
"Api": {
@JeremyLikness
JeremyLikness / project.json
Created September 2, 2017 16:08
Adding NuGet for App Insights
{
"frameworks": {
"net46":{
"dependencies": {
"Microsoft.ApplicationInsights": "2.2.0"
}
}
}
}
@JeremyLikness
JeremyLikness / run.cs
Created September 2, 2017 16:10
Referencing App Insights
#r "Microsoft.WindowsAzure.Storage"
using Microsoft.ApplicationInsights;
@JeremyLikness
JeremyLikness / Run.cs
Created September 15, 2017 18:46
Custom Application Insights
var startTime = DateTime.UtcNow;
var timer = System.Diagnostics.Stopwatch.StartNew();
TableOperation operation = TableOperation.Retrieve<ShortUrl>(partitionKey, shortUrl);
TableResult result = inputTable.Execute(operation);
// BOOM track a custom dependency!
telemetry.TrackDependency("AzureTableStorage", "Retrieve", startTime, timer.Elapsed, result.Result != null);
ShortUrl fullUrl = result.Result as ShortUrl;
@JeremyLikness
JeremyLikness / account-list.sh
Last active October 3, 2017 15:35
List Azure Subscriptions
#
az account list --output table
#
@JeremyLikness
JeremyLikness / account-set.sh
Created October 3, 2017 15:35
Set default subscription
#
az account set --subscription=jeliknes
#
@JeremyLikness
JeremyLikness / FunctionHost.cs
Last active October 9, 2017 18:58
Add a DocumentDB binding for CosmosDB
[FunctionName("ProcessQueue")]
public static void ProcessQueue([QueueTrigger(queueName: "requests")]string request,
[DocumentDB(URL_TRACKING, URL_STATS, CreateIfNotExists = true,
ConnectionStringSetting ="CosmosDb")]out dynamic doc,
TraceWriter log)
{
}
@JeremyLikness
JeremyLikness / FunctionHost.cs
Created October 9, 2017 19:01
Create a document to write to CosmosDB
// cosmos DB
doc = new ExpandoObject();
doc.id = Guid.NewGuid().ToString();
doc.page = page;
doc.count = 1;
doc.timestamp = date;
if (!string.IsNullOrWhiteSpace(customEvent))
{
((IDictionary<string, object>)doc).Add(customEvent, 1);
}
@JeremyLikness
JeremyLikness / document.json
Created October 9, 2017 19:06
Example CosmosDB document
{
"id": "d4520334-8c1d-4250-ac01-64ac72884ac1",
"page": "medium.com/@felixclack/writing-great-commit-messages-for-better-code-review-70b21dac5788/",
"count": 1,
"timestamp": "2017-10-09T18:57:26",
"twitter": 1,
"_rid": "GzYTAO2ucgATAAAAAAAAAA==",
"_self": "dbs/GzYTAA==/colls/GzYTAO2ucgA=/docs/GzYTAO2ucgATAAAAAAAAAA==/",
"_etag": "\"36005c64-0000-0000-0000-59dbc6950000\"",
"_attachments": "attachments/",
@JeremyLikness
JeremyLikness / Program.cs
Created October 12, 2017 13:36
Spin up a CosmosDB client
using (var client = new DocumentClient(new Uri(endpoint), key))
{
Console.WriteLine("Starting...");
FixIt(client).Wait();
Console.ReadLine();
}