Automatic TeslaCam And Sentry Mode Video Processing In Azure – Part 2: Azure resources

This is part 2 of my blog post series on ‘Automatic TeslaCam And Sentry Mode Video Processing In Azure’. Check out the overview post if you have not done so already. In this post, I describe the Azure resources you need for this solution. When in doubt, drop a question in the comments!

Azure Resource Group

I think it is wise to have all resources for this solution nicely grouped up, so please start with creating a new Resource Group. Name could be “rg-we-teslacam-processing”, if the region is West-Europe.

Azure Storage Account

Now we create the Azure Storage Account. Name could be something like “staweteslacamprocessing”, if the region is West-Europe. It’s not required to enable the Hierarchical namespace feature. Set the Replication to LRS (or your preferred option).

Add the following containers in your new Azure Storage Account (all can have the ‘private’ access level):

  • teslacam; for the upload of files from the RaspberryPi in your Tesla.
  • toprocess; for internal use of the batch processing (the copy of raw files, ready to be processed).
  • archive; for the archive of files (note: this could be hot/cold/archive storage tier, more info in the docs).
  • output; for the output files of the script, the camera-angle combined, motion-only videos (note: this could be cold storage tier, more info in the docs).

Azure Batch Service

Now create a new Azure Batch Service. Name could be something like “abaweteslacamprocessing”, if the region is West-Europe. Pool allocation mode can be set to the default Batch service mode. Read more about the best-practices here: https://docs.microsoft.com/en-us/azure/batch/best-practices#pool-configuration-and-naming.

Azure Function App

Now create a new Azure Function App. Name could be something like “afa-we-“, if the region is West-Europe. Choose Python as the runtime stack. Specify the storage account of this project (that you just created) as the connected storage account.

Azure preparation is done!

This is all we need, for now. If I’m correct you have now – after all resources are created – a list of 5 resources in your resource group (with different names):

Pass the sauce

This Post Has 4 Comments

  1. Rene

    Hi, super thanks for writing this out! I created the Function app but can’t find where or how I should define the connected storage account in that step… ‘Specify the storage account of this project (that you just created) as the connected storage account’. I’ve looked everywhere in Azure and within the Function App properties…

    1. Dave Ruijter

      Hi René! It’s a question/field when you create the Function App. It’s on the second tab at the moment of creation. Probably a new Storage Account has been created in the same resource group now? You can leave it like this if you want.

Leave a Reply