public static void Run()

in arm-templates/sqlDwAutoScaler/SqlDwAutoScaler/ScaleSqlDwByTimer/ScaleSqlDwByTimer.cs [12:50]


        public static void Run(TimerInfo myTimer, TraceWriter log)
        {
            log.Info($"ScaleSqlDwByTimer triggered!");

            try
            {
                var sqlServer = ConfigurationManager.AppSettings["SqlServerName"];
                var sqlDw = ConfigurationManager.AppSettings["SqlDwName"];
                var subscriptionId = ConfigurationManager.AppSettings["SubscriptionId"];
                var resourceGroup = ConfigurationManager.AppSettings["SqlDwResourceGroup"];
                var resourceId = $"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{sqlServer}/databases/{sqlDw}";
                var dwLocation = ConfigurationManager.AppSettings["SqlDwLocation"];
                var dwuConfigFile = ConfigurationManager.AppSettings["DwuConfigFile"];
                var dwuConfigManager = new DwuConfigManager(dwuConfigFile);

                // Create a DataWarehouseManagementClient
                var dwClient = DwClientFactory.Create(resourceId);
                // Get database information
                var dbInfo = dwClient.GetDatabase();
                dynamic dbInfoObject = JsonConvert.DeserializeObject(dbInfo);
                var currentDwu = dbInfoObject.properties.requestedServiceObjectiveName.ToString();
                log.Info($"Current DWU is {currentDwu}");

                // If current dwu is smaller than default dwu, then scale up to default dwu
                if (dwuConfigManager.CompareDwus(currentDwu, dwuConfigManager.DwuConfigs.DefaultDwu) < 0)
                {
                    log.Info($"Scale up to default {dwuConfigManager.DwuConfigs.DefaultDwu}");
                    dwClient.ScaleWarehouse(dwuConfigManager.DwuConfigs.DefaultDwu, dwLocation);
                }
                else
                {
                    log.Info($"No need to scale up. Current dwu is same or higher than default dwu {dwuConfigManager.DwuConfigs.DefaultDwu}");
                }
            }
            catch (Exception e)
            {
                log.Info($"ScaleSqlDwByTimer threw exception: {e.Message}");
            }
        }