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):