예제 #1
0
        public static void createUpdateTrigger(DataFactoryManagementClient client)
        {
            TriggerPipelineReference[] triPipe;
            string[] tablas = DatosGrales.traerTablas(true);
            for (int o = 1; o < (tablas.Length) / 10; o++)
            {
                if (o != Convert.ToInt32(tablas.Length / 10))
                {
                    triPipe = new TriggerPipelineReference[o * 10];//tablas.Length
                }
                else
                {
                    triPipe = new TriggerPipelineReference[tablas.Length];
                }

                PipelineReference pipe;
                for (int i = 0; i < triPipe.Length; i++)
                {
                    if (!tablas[i].Contains("ccst"))
                    {
                        pipe       = new PipelineReference("Pipeline-Sql-DataLake-ConCompresion-Claim-" + tablas[i], "Pipeline-Sql-DataLake-ConCompresion-Claim-" + tablas[i]);
                        triPipe[i] = new TriggerPipelineReference(pipe);

                        //Agrego parametro dummy porque en realidad no uso, pero es obligatorio tener.
                        Dictionary <String, object> diccionarioParams = new Dictionary <String, object>();
                        diccionarioParams.Add("Param1", 1);
                        triPipe[i].Parameters = diccionarioParams;
                    }
                }
                DateTime hoy = DateTime.Now.AddDays(-2);
                DateTime fin = hoy.AddDays(15);
                ScheduleTriggerRecurrence str = new ScheduleTriggerRecurrence(null, "Day", 1, hoy, fin);
                str.TimeZone = "UTC";

                ScheduleTrigger schedule = new ScheduleTrigger(str, null, "Trigger para pipes con compresion", "Stopped", triPipe);

                TriggerResource trig = new TriggerResource(schedule, null, "CompresionSinCCST", "ScheduleTrigger");
                //trig.Proper
                try
                {
                    TriggerResource trig1 = client.Triggers.CreateOrUpdate(DatosGrales.resourceGroup, DatosGrales.dataFactoryName, "CompresionSinCCST", trig);
                    Console.WriteLine("Trigger creado con " + (o * 10) + " pipelines, a ver si se banca mas?");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Trigger con " + (o * 10) + " pipelines fallo, hacemos otro intento...");
                    o--;
                }
            }
            //var aor = client.Triggers.StartWithHttpMessagesAsync(resourceGroup, dataFactoryName, "Trigger prueba tarea");
        }
예제 #2
0
        public ScheduleTriggerRecurrence ToSdkObject()
        {
            var scheduleTriggerRecurrence = new ScheduleTriggerRecurrence
            {
                Frequency = this.Frequency,
                Interval  = this.Interval,
                StartTime = this.StartTime,
                EndTime   = this.EndTime,
                TimeZone  = this.TimeZone,
                Schedule  = this.Schedule?.ToSdkObject()
            };

            this.AdditionalProperties?.ForEach(item => scheduleTriggerRecurrence.Add(item.Key, item.Value));
            return(scheduleTriggerRecurrence);
        }
        private ScheduleTriggerRecurrence GetScheduledTriggerRecurrence(ScheduledTriggerRequest request)
        {
            ScheduleTriggerRecurrence recurrence = new ScheduleTriggerRecurrence()
            {
                TimeZone = "UTC"
            };

            recurrence.StartTime = request.StartDate.HasValue ? request.StartDate.Value.ToUniversalTime() : request.StartDate;
            recurrence.EndTime   = request.EndDate.HasValue ? request.EndDate.Value.ToUniversalTime() : request.EndDate;
            recurrence.Frequency = request.GetFrequency();
            recurrence.Interval  = request.FrequencyInterval;
            if (request.Schedule != null)
            {
                recurrence.Schedule = GetRecurrenceSchedule(request);
            }
            return(recurrence);
        }
예제 #4
0
        public static void createUpdateTrigger1(DataFactoryManagementClient client)
        {
            TriggerPipelineReference[] triPipe;
            string[] tablas = DatosGrales.traerTablas(true);
            triPipe = new TriggerPipelineReference[5];
            PipelineReference pipe;

            for (int i = 0; i < triPipe.Length; i++)
            {
                if (!tablas[i].Contains("ccst"))
                {
                    pipe       = new PipelineReference("Pipeline-Sql-DataLake-ConCompresion-Claim-" + tablas[i], "Pipeline-Sql-DataLake-ConCompresion-Claim-" + tablas[i]);
                    triPipe[i] = new TriggerPipelineReference(pipe);

                    //Agrego parametro dummy porque en realidad no uso, pero es obligatorio tener.
                    Dictionary <String, object> diccionarioParams = new Dictionary <String, object>();
                    diccionarioParams.Add("Param1", 1);
                    triPipe[i].Parameters = diccionarioParams;
                }
            }
            DateTime hoy = DateTime.Now.AddDays(-2);
            DateTime fin = hoy.AddDays(15);
            ScheduleTriggerRecurrence str = new ScheduleTriggerRecurrence(null, "Day", 1, hoy, fin);

            str.TimeZone = "UTC";

            ScheduleTrigger schedule = new ScheduleTrigger(str, null, "Trigger para pipes con compresion", "Stopped", triPipe);

            TriggerResource trig = new TriggerResource(schedule, null, "CompresionSinCCST", "ScheduleTrigger");

            //trig.Proper
            try
            {
                TriggerResource trig1 = client.Triggers.CreateOrUpdate(DatosGrales.resourceGroup, DatosGrales.dataFactoryName, "CompresionSinCCST1", trig);
                Console.WriteLine("Trigger creado!");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Trigger fallo al crearse =(");
            }
        }