API управления автоматическим масштабированием Azure

В настоящее время я запускаю консольное приложение для обновления автоматического масштабирования в моей подписке на Azure, однако у меня возникают проблемы с дневными и ночными профилями.

У меня есть два профиля, которые работают днем ​​и ночью в будние дни. Я собрал его вместе, чтобы поиграть с api, но получаю странные результаты.

var weekDayProfile = new AutoscaleProfile
        {

            Capacity = new ScaleCapacity
            {
                Default = settings.Default.ToString(),
                Maximum = settings.Maximum.ToString(),
                Minimum = settings.Minimum.ToString()
            },
            Name = "Day",
            Recurrence = new Recurrence
            {
                Frequency = RecurrenceFrequency.Week,
                Schedule = new RecurrentSchedule
                {
                    Days = new List<String> { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" },
                    Hours = { 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 },
                    Minutes = new List<int> { 0 },
                    TimeZone = "Central Standard Time"
                }
            },
            Rules = GenerateScaleRules(cloudServiceName, roleName, isProduction, settings)
        };
        settings.SetProfileSettings(ProfileEnum.NonProdWeekNight);
        var weekNightProfile = new AutoscaleProfile
        {
            Capacity = new ScaleCapacity
            {
                Default = settings.Default.ToString(),
                Maximum = settings.Maximum.ToString(),
                Minimum = settings.Minimum.ToString()
            },
            Name = "Night",
            Recurrence = new Recurrence
            {
                Frequency = RecurrenceFrequency.Week,
                Schedule = new RecurrentSchedule
                {
                    Days = new List<String> { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" },
                    Hours = {0, 1, 2, 3, 4, 5, 6, 7, 21, 22, 23},
                    Minutes = new List<int> { 0 },
                    TimeZone = "Central Standard Time"
                }
            },
            Rules = GenerateScaleRules(cloudServiceName, roleName, isProduction, settings)
        };
        settings.SetProfileSettings(ProfileEnum.NonProdWeekEnd);

Теперь, когда я загружаю профиль в облако, появляются два профиля, но оба они абсолютно одинаковы. Мне интересно, не потому ли, что мои дни накладываются друг на друга. Я думал, что это возможно, так как вы можете вручную настроить дневное и ночное время через портал. Мне не хватает чего-то вроде переключателя или настройки?


person Thao Nguyen    schedule 19.02.2015    source источник


Ответы (1)


Видимо я испортил json вокруг ошибок. Я не понял, что на самом деле означают Часы.

Запустите приложение, чтобы получить ручной профиль и сопоставить его с тем, который я создаю. Кажется, часы - это не совсем час S. Всем, кто делает это через api, хорошо просто спустить профиль и сопоставить его.

AutoscaleClient autoscaleClient = new AutoscaleClient(new CertificateCloudCredentials(publishSettings.Id, publishSettings.Certificate));
AutoscaleSettingGetResponse get = autoscaleClient.Settings.Get(AutoscaleResourceIdBuilder.BuildCloudServiceResourceId("<clound name", "role name", true));
AutoscaleSetting setting = get.Setting;
string profileJson = JsonConvert.SerializeObject(setting);
Console.WriteLine(profileJson);
person Thao Nguyen    schedule 19.02.2015