Is it possible to somehow create an azure function which will restore an azure sql database whenever a new bacpac/bak file is created in the blob storage?
You can create an azure function with a blob trigger and in your C# code you can us the DacServices.ImportBacpac
method. Here is a similar question: converting a blob (.bacpac) to .bacpac file to import database to SQL Server Azure?
And here is the MS docs: https://learn.microsoft.com/en-us/dotnet/api/microsoft.sqlserver.dac.dacservices.importbacpac?view=sql-dacfx-140.3881.1
As an alternative solution you can also make an Azure REST API call. https://learn.microsoft.com/en-us/rest/api/sql/databases%20-%20import%20export/createimportoperation "Creates an import operation that imports a bacpac into an existing database. The existing database must be empty."