Showing posts with label Google AppEngine. Show all posts
Showing posts with label Google AppEngine. Show all posts

Saturday, July 16, 2016

Java Multithreading in Google AppEngine

I'm currently working on a security app using Google AppScript.  One bit of functionality the product owner wanted implemented was checking ip addresses against a blacklist.  The original idea was for a self generated blacklist, but before I started implementing that, I wanted to see if there were any blacklists out in the wild that I could leverage.  While there are many blacklists out there (a few of the big ones are on this wikipedia page "Comparison of DNS blacklists"), almost without exception they use a specially formatted DNS query to get results.  This is a huge dealbreaker for a JavaScript app, as there is no way to do a DNS query in AppScript (yeah, node.js does it, but alas, not using node, so...).  So I made the decision to stand up my own Java REST endpoint in AppEngine.

Thursday, February 25, 2016

Using Maven and Google Plugin for Eclipse together in harmony

So, this post is mostly about documenting, for myself, how to get Eclipse and Maven set up correctly for my current project, but I think there might also be some bits of useful wisdom for other devs who might be working with similar circumstances.  The basic, 30k foot look at my problem is something like this:


   I have a Google Web Toolkit (GWT) project that is to run on Google App Engine (GAE).  How do I use Maven to manage dependencies, while still maintaining the functionality that the Google Plugin for Eclipse (GPE) gives me?

Tuesday, December 15, 2015

Migrating AppEngine Datastore Entities to a SQL Database: Jenkins Automation

In two previous posts I laid out the process for extracting the entities from the Google AppEngine datastore and then loading them into Azure SQL.  While this process was successful, it was also a bit labor intensive.  I felt pretty certain that the process could be automated, so I set out to script it out and run it from Jenkins.

My initial goal was to complete the entire process, from initiating the datastore backup to pushing to Azure, without modifying the existing app in any way.  So, while the most straight forward way to backup the enties periodically is with a (shocker) cron job, I wanted to try to trigger the backup from outside the app.

Wednesday, November 25, 2015

Migrating AppEngine Datastore Entities to a SQL Database: Extraction

Handwavy, tl;dr version: 
  • Back up entities to Cloud Storage
  • Import into BigQuery
  • Export .csv
  • Migrate with SQL Server Import - Export Data tool

Our help ticket system at work (creatively named "HTS") is hosted on Google AppEngine, with data persisted to the HR datastore.  My manager approached me (since I'm the "appengine developer") and asked me if it would be possible to do a "data dump".  Nothing pretty, just get it all out and into a spreadsheet or something so that supervisors could run some rudimentary reporting (the build-in capabilities in HTS weren't cutting it). So I rolled up my sleeves and got to work.  Here's how it all went down...