Showing posts from 2018

Use Azure Functions to Execute a SQL Azure Stored Procedure on a Timer

It was hard to find this information all in one place, so I thought I'd throw a post together quick.

If you have the need to execute a stored procedure on a timer, that can be fairly easily accomplished with Azure Functions.

Create a new Timer Trigger Azure Function, set the cron timer as desired, and add code similar to the code below:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Dapper;

public static void Run(TimerInfo myTimer, TraceWriter log)
    var conString = ConfigurationManager.ConnectionStrings["ConString"]?.ConnectionString;

    using(var con = new SqlConnection(conString))
        con.Execute("dbo.MyProc", commandType: CommandType.StoredProcedure);

This code will not compile at this time. Note the name of the connection string, we'll need that in the app settings page.

Go to the Connection Strings section of the Application Settings for the function app (this will look very similar to the Con…

Create Google Contact via API and Add To My Contacts System Group

When you create a new Contact via the Google Contacts API, by default it will not appear in the list of contacts on the Google Contacts webpage, however, if you search for the contact there, it will appear. If you then click the "Add to contacts" button, it will appear in that contacts list, and increase your contact count in the top left of the page.

There is a way to add new contacts via the API and have them show up in this list, it is just not well documented within the API documentation. The code below demonstrates how to do this is C#.

What appears to be a list of all contacts on the Google Contacts page is actually just a subset of all your contacts, it is actually the "My Contacts" System Group. When you create a new contact via the API, you must specify that this new contact is part of that system group for it to appear on the contacts page without searching.

 1. Create a ContactsRequest
 2. Get a list of all groups and search for the "My Conta…