Creating Infrastructure as Code with Troposphere, Python, and AWS

Open your Python IDE, and open the file in the Exercise 3 folder (cfn_template_automation.py). You can see we’re using the Troposphere Python library. While there are other tools to create templates and deploy infrastructure, I find Troposphere to be the most straightforward to install and the easiest to code with when working with in Python for things like loops to deploy copies of the same infrastructure in the same stack.

Update lines 18–23 with your portal information again, the same as the last two exercises.

Now in your AWS console, navigate to S3, create a new bucket, and upload your…


Creating an AWS Lambda and Testing It Out

Open your Python IDE, and open the files in the Exercise 2 folder (lambda.py and package).

You can see we’ve adapted update.py from Exercise 1 to point to AWS Lambda environment variables (lines 19–24) and changed the script’s working directory to the lambda’s /tmp directory, which can hold up to 512MB of data.

Next, we’ll create a zip archive of Python libraries to deploy to the lambda. You’ll need to login to your AWS console and create a new EC2 instance, select the Amazon Linux AMI and t2.micro (free tier). Leave all defaults, and either select a security group that…


Automating feature service creation from an open API and updating it

Open your Python IDE, set the Python interpreter to the virtual environment created earlier, and open the files in the Exercise 1 folder (auto_publish.py and update.py).

Open auto_publish.py and on lines 17–19 you’ll want to change out the boilerplate for your own ArcGIS organization URL and user credentials. This can be either ArcGIS Online or ArcGIS Enterprise.

Lines 25–33 contain our variables for the script which are mostly self explanatory. For this exercise, we’ll be using SEPTA’s TrainView API which shows live data about Southeastern Pennsylvania’s commuter rail network. …


An introduction to a series on managing data hosted in Esri’s ArcGIS portals programmatically.

Infrastructure as code (IaC) and serverless automation have been booming in recent years, however their application to web based GIS seemed limited until recently. Technologies are converging to make cloud based GIS data management simpler and cheaper than ever before.

A common workflow to publish and update data in Esri’s ArcGIS Online and ArcGIS Enterprise portals is publishing the data from a staged MXD file in ArcGIS Desktop, and more recently running a similar workflow from an APRX file in ArcGIS Pro. These workflows use Esri’s service definition files generated from existing data on disk to efficiently update the data…

Nick Fink

Systems engineer with interests in serverless, IaC, and automation. Oddly preoccupied with data interoperability. Consultant @ New Light Technologies, Inc.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store