Daniel Mitchell

Daniel Mitchell

SignASL Year in Review 2021

End of a year, so time for a quick analysis of the year. SignASL has been running since 2013 and has experienced growth every year. This year 24,887,947 searches were completed, a massive increase of 39% from last year! It is always interesting to see what people search for. Below is the top 50 searches. Search Query No. Searches % change **** 19,

SignBSL Year in Review 2021

End of a year, so time for a quick analysis of the year. SignBSL has been running since 2013 and has experienced growth every year. This year 23,433,479 searches were completed, an increase of just over 16% from last year. It is always fascinating to see what people search for. I have included the top 50 searches below. Search Query No.

Request does not contain domain name information but is derived from APIGatewayProxyFunction

Ingesting CloudWatch logs cost money ($0.57 per GB log data ingested), so removing log lines that are not useful will save you money. In my C# API project the logs are filled with this Warning: [Warning] Amazon.Lambda.AspNetCoreServer.AbstractAspNetCoreFunction: Request does not contain domain name information but is derived from APIGatewayProxyFunction. This warning comes from the code found in Amazon.Lambda.

Identify and monitor missing AWS S3 files using Athena

Like many websites and mobile apps, www.signbsl.com hosts its static media files using S3, which provides a reliable service without managing servers. The bucket currently holds more than 126,000 images and videos. On a self hosted solution to find missing files I would usually use the Apache Access Logs. But with S3 you need to use Server access logging to

Calling dotnet core Lambda API direct from PHP

Usually a API Gateway is placed in front of a Lambda to allow HTTP requests to be forwarded to a Lambda function. However even when using the HTTP API this still costs $1 per million invocations. To save costs I have setup the PHP website to call the Lambda function direct. Here is how to call the Lambda function and pass the request