Posts

Azure HTTP Web Server Logs to SQL

Image
If you enable File System Web Server logs for your Azure App Service... Settings > Diagnostics logs > Web server logging > File System You'll start to see logs on the file system for your app service here: (you can find your FTP host and credentials in the publish profile file) /LogFiles/http/RawLogs Alternatively, you can see these logs through the Kudu UI: https://{yourappservicename}.scm.azurewebsites.net/DebugConsole/?shell=powershell Instead of downloading these one and a time and parsing through them, you can use the following library to assist in loading them into a relational database. You could even run this as a webjob within your app service. Get the code here: https://github.com/Stonefinch/AzureWebServerLogsToSql **Update: This repo now includes a web project that references the console app as a WebJob. You may also want to check out the LogParser tool by Microsoft https://blogs.msdn.microsoft.com/friis/2014/02/06/how-to-

Store Amazon SES Delivery Notifications in DynamoDB using SNS and Lambdas

Image
I spent way too much time configuring my Amazon AWS account to store Simple Email Service SES Delivery Notifications to a DynamoDB Table . I thought I'd put this guide together to hopefully help future developers. This guide does not currently cover these topics, but I may include them in the future: 1. Setting up your Amazon AWS Account. 2. Setting up Amazon SES. (dkim, domain/email identities, etc.) 3. Integration with Amazon SES from your app. 4. SNS Topic creation/configuration. Prerequisites: 1. Amazon AWS account has been created/configured. 2. Amazon SES has been created/configured. 3. Amazon SNS Topic has been created/configured. 4. Delivery Notifications for the Amazon SES Domain Identity have been configured to be sent to the SNS Topic. 5. Your app is integrated with Amazon SES and successfully sending email. Step by Step Guide to Storing SES Delivery Notification messages into a DynamoDB Table: So at this point, you're successfully integrated w

Update Azure SQL Firewall Rule using PowerShell (update 2018)

Image
Microsoft Azure SQL only allows connections from whitelisted IP addresses. My ISP seemed to change my external/public IP address daily. The combination of these two things was very annoying for me. I assembled the powershell script below to make my life a little easier. It updates the firewall rule for each Azure SQL instance, and ensures they are all set to my current IP address. Note: There are two categories of Azure PowerShell scripts/cmdlets. There are Resource Management cmdlets and Service Management cmdlets. I will describe how to perform this task with both below: Service Management (the older way) 1. Install and Configure  https://github.com/Azure/azure-powershell#installation 2. Execute Get-AzurePublishSettingsFile to get the publishsettings file for the subscription you're going to be working with (a browser window will open, select the profile there. Note: you can add multiple publish settings.). 3. Execute Import-AzurePublishSettingsFile and pr

Convert SQL Server Varbinary to Byte Array

I had a need to convert the HEX output from SQL Server Management Studio's Results to Grid output of a varbinary column  back to the byte array of the file it represented. I couldn't find an all-in-one script online, so I thought I'd create this C# gist. (original parse script here ) https://gist.github.com/aaronhoffman/ad16b27d14e2f5d7e16c Hope this helps, Aaron

PowerShell - List File Line Count For Files in a Directory that Match a Given Pattern

I had a need to get the total count of all lines, for a given set of .csv files. For example, there are 5 files each with 1000 lines, I wanted a script that would output: 1000, 1000, 1000, 1000, 1000. I could not find a script or command to do this, so I wrote one in PowerShell. Enjoy List File Line Count For Files in a Directory that Match a Given Pattern https://gist.github.com/aaronhoffman/416b88e64b970c4c9cb4 hope this helps, Aaron

Always Open Google Chrome with Default User Active from Taskbar

Image
Users in Google Chrome are great. I wish every browser had a similar feature. If you have multiple browser windows open at once running different users (one for work email, one for personal, for example) a downside is that whichever browser window you close last will be the User that is used when you open Chrome again. However, by modifying the taskbar shortcut you can override this functionality and always have your "Default" user be used. Right click on the Google Chrome taskbar icon, then right click on the "Google Chrome" entry in the popup menu. (Apparently Windows Print Screen does not work if the taskbar is active, so I had to take a picture on my phone...) In the Google Chrome Properties shortcut settings window that appears, append `  --profile-directory="Default" ` to the end of the Target value. And that's it. Now when this shortcut is used Google Chrome should open using the default profile no matter which User was associa

SQL Server vs .NET DateTime Leap Year Arithmetic

I recently refactored some code that was performing date arithmetic in SQL Server. The code was attempting to retrieve the "same day next year" by adding 365 days to the date provided. I was refactoring this logic out of SQL Server and in to .NET, and I was concerned that .NET's DateTime arithmetic wouldn't match SQL Server. I was pleasantly surprised that the results were the same. However, I should call out that perhaps in your situation adding 365 days to a given date is not appropriate for getting the "same day next year" value. I also compared this logic when preforming a "Add years + 1" and the results were also the same. (However, to be clear, adding 365 days differed from adding 1 year, but both SQL and .NET preformed the same given the method used.) source code:  https://gist.github.com/aaronhoffman/3d997390dab7f69e6597 results table: Method Value StartDate .NET Result SQL Result AddDays 365 2/27/2011 2/27/2012 2/27/2012 AddYears