I have successfully deployed a multipage Dash app on Azure Web Services. The app includes a feature that allows users to upload and save files. When a file is saved, it creates a subfolder within a root folder and stores the file as a Parquet file. I chose this structure because the files are large (6 million rows), and writing to SQL Server is not efficient. Additionally, Parquet files are compact, easy to store, and quick to retrieve.
For deployment, I am using the Azure Web Services extension in Visual Studio Code. This process leverages an Oryx build, which creates a compressed tarball of the entire application, including the virtual environment, and stores it in /home/site/wwwroot
. At runtime, the contents of the tarball are extracted to a dynamic runtime virtual environment in a temporary location.
The challenge I’m facing is that I don’t know how to “ignore” the folder where the Parquet files are stored during redeployment. As a result, the app’s redeployment process overwrites the folder.
I was considering using the Azure Developer CLI as a solution since it allows the creation of a .webappignore
file. However, I’m not very proficient with the CLI and am unsure how to configure my app to utilize it. Unfortunately, Git is not an option for me due to company restrictions. I also thought maybe it would be possible to download the folder to my pc so when I redeploy it will have the most current data but haven’t been able to successfully do that either as I just don’t have a lot of knowledge in this space. One other solution is to create Azure blob storge for the folders instead of storing them with the app itself but not sure if that will create latency issues.
Any thoughts or suggestions on how to handle this situation would be greatly appreciated. Ideally I would like to continue using the App Services deployment method since it is simple to execute.