Azure Logic Apps'te Yinelenme tetikleyicisi ile yinelenen iş akışlarını zamanlama ve çalıştırma

Şunlar için geçerlidir: Azure Logic Apps (Tüketim + Standart)

İş akışınızı bir zamanlamaya göre başlatmak ve çalıştırmak için ilk adım olarak genel Yinelenme tetikleyicisini kullanabilirsiniz. İş akışını başlatmak için bir tarih, saat ve saat dilimi ve bu iş akışını yinelemek için bir yineleme ayarlayabilirsiniz. Aşağıdaki liste, bu tetikleyicinin desteklediği bazı desenleri ve daha gelişmiş yinelemeleri ve karmaşık zamanlamaları içerir:

  • Belirli bir tarih ve saatte çalıştırın, ardından her n sayıda saniye, dakika, saat, gün, hafta veya ayda bir yineleyin.

  • Hemen çalıştırın ve her n sayıda saniye, dakika, saat, gün, hafta veya ayda bir tekrarlayın.

  • Hemen çalıştırın ve her gün 08:00 ve 17:00 gibi belirli bir saatte tekrarlayın.

  • Hemen çalıştırın ve Cumartesi ve Pazar gibi belirli günlerde haftalık olarak tekrarlayın.

  • Hemen çalıştırın ve pazartesiden cumaya 08:00 ve 17:00 gibi belirli gün ve saatlerde haftalık olarak tekrarlayın.

Dekont

gelecekte iş akışınızı yalnızca bir kez başlatmak ve çalıştırmak için Scheduler: Run Once Jobs adlı iş akışı şablonunu kullanın. Bu şablon, bu yinelenme düzenini desteklemeyen Yinelenme tetikleyicisi yerine İstek tetikleyicisini ve HTTP eylemini kullanır. Daha fazla bilgi için bkz . İşleri yalnızca bir kez çalıştırma.

Yinelenme tetikleyicisi belirli bir hizmetle ilişkili olmadığından, tetikleyiciyi Tüketim mantıksal uygulaması iş akışları ve Standart mantıksal uygulama durum bilgisi olan iş akışları gibi neredeyse tüm iş akışlarıyla kullanabilirsiniz. Bu tetikleyici şu anda Standart mantıksal uygulama durum bilgisi olmayan iş akışları için kullanılamıyor.

Yinelenme tetikleyicisi, yerleşik Zamanlama bağlayıcısının bir parçasıdır ve Azure Logic Apps çalışma zamanında yerel olarak çalışır. Yerleşik Zamanlama tetikleyicileri ve eylemleri hakkında daha fazla bilgi için bkz . Azure Logic Apps ile yinelenen otomatik, görevler ve iş akışlarını zamanlama ve çalıştırma.

Ön koşullar

Yinelenme tetikleyicisini ekleme

İş akışınızın Tüketim mi yoksa Standart mı olduğuna bağlı olarak, ilgili adımları izleyin:

  1. Azure portalında mantıksal uygulama kaynağınızı ve boş iş akışınızı açın.

  2. Yinelenme adlı Yerleşik zamanlama tetikleyicisini eklemek için bu genel adımları izleyin.

  3. Yinelenme aralığını ve sıklığını ayarlayın. Bu örnekte, bu özellikleri iş akışınızı her hafta çalıştıracak şekilde ayarlayın, örneğin:

    Screenshot for Consumption workflow designer with Recurrence trigger interval and frequency.

    Özellik JSON adı Zorunlu Tür Tanım
    Aralık interval Evet Tamsayı İş akışının sıklık temelinde ne sıklıkta çalıştığını açıklayan pozitif bir tamsayı. Minimum ve maksimum aralıklar şunlardır:

    - Ay: 1-16 ay
    - Hafta: 1-71 hafta
    - Gün: 1-500 gün
    - Saat: 1-12.000 saat
    - Dakika: 1-72.000 dakika
    - Saniye: 1-9.999.999 saniye

    Örneğin, aralık 6 ve sıklık "Ay" ise, yinelenme 6 ayda bir olur.
    Sıklık frequency Evet String Yinelenme için zaman birimi: İkinci, Dakika, Saat, Gün, Hafta veya Ay

    Önemli: Gün, Hafta veya Ay sıklığını seçerseniz ve gelecekteki bir başlangıç tarihi ve saati belirtirseniz, yinelemeyi önceden ayarladığınızdan emin olun. Aksi takdirde, iş akışı ilk yinelenmeyi atlayabilir.

    - Gün: Günlük yinelemeyi en az 24 saat önceden ayarlayın.

    - Hafta: Haftalık yinelenmeyi en az 7 gün önceden ayarlayın.

    - Ay: Aylık yinelemeyi en az bir ay önceden ayarlayın.
  4. Yinelenme tetikleyicisini kullanırken aşağıdaki noktaları gözden geçirin:

    • Belirli bir başlangıç tarihi ve saati belirtmezseniz, tetikleyicinizin yinelenme kurulumuna rağmen iş akışını kaydettiğinizde veya mantıksal uygulama kaynağını dağıttığınızda ilk yineleme hemen çalışır. Bu davranışı önlemek için, ilk yinelemenin çalıştırılmasını istediğiniz tarih ve saati belirtin.

    • Gelecekteki yinelemeleri çalıştırmak için belirli saatler gibi başka gelişmiş zamanlama seçenekleri belirtmezseniz, bu yinelemeler son çalışma zamanını temel alır. Sonuç olarak, depolama çağrıları sırasında gecikme süresi gibi faktörlerden dolayı bu yinelenmelerin başlangıç süreleri kayabilir.

    • İş akışınızın, özellikle de sıklık gün veya daha uzun olduğunda yinelenmeyi kaçırmadığından emin olmak için aşağıdaki seçenekleri deneyin:

      • Yinelenme için bir başlangıç tarihi ve saati ve sonraki yinelemeleri çalıştırmak için belirli saatleri belirtin. Yalnızca Gün ve Hafta sıklıkları için kullanılabilen Şu saatlerde ve Şu dakikalarda adlı özellikleri kullanabilirsiniz.

      • Tüketim mantığı uygulaması iş akışları için Yinelenme tetikleyicisi yerine Kayan Pencere tetikleyicisini kullanın.

    • ARM şablonu kullanarak Yinelenme tetikleyicisi olan devre dışı bırakılmış bir Tüketim iş akışı dağıtırsanız, dağıtımdan önce Başlangıç zamanı parametresini ayarlamadığınız sürece iş akışını etkinleştirdiğinizde tetikleyici anında tetikler.

  5. Gelişmiş zamanlama seçeneklerini ayarlamak için Yeni parametre ekle listesini açın. Seçtiğiniz seçenekler, seçimden sonra tetikleyicide görünür.

    Özellik JSON adı Zorunlu Tür Tanım
    Saat dilimi timeZone Hayır String Bu tetikleyici UTC uzaklığını kabul etmediğinden yalnızca bir başlangıç saati belirttiğinizde geçerlidir. Uygulamak istediğiniz saat dilimini seçin.
    Başlangıç saati startTime Hayır String Gelecekte en fazla 49 yıla sahip olan ve UTC tarih saat biçiminde ISO 8601 tarih saat belirtimini izlemesi gereken ancak UTC uzaklığı olmayan bir başlangıç tarihi ve saati sağlayın:

    Saat dilimi seçerseniz YYYY-AA-GGThh:mm:ss

    -Veya-

    Saat dilimi seçmezseniz YYYY-AA-GGThh:mm:ssZ

    Örneğin, 18 Eylül 2020'nin saat 14:00'da olmasını istiyorsanız, "2020-09-18T14:00:00" belirtin ve Pasifik Standart Saati gibi bir saat dilimi seçin. Ya da saat dilimi olmadan "2020-09-18T14:00:00Z" belirtin.

    Önemli: Bir saat dilimi seçmezseniz, sonuna boşluk bırakmadan "Z" harfini eklemeniz gerekir. Bu "Z" eşdeğer deniz zamanını ifade eder. Bir saat dilimi değeri seçerseniz Başlangıç saati değerinizin sonuna "Z" eklemeniz gerekmez. Bunu yaparsanız, Logic Apps saat dilimi değerini yoksayar çünkü "Z" utc saat biçimini belirtir.

    Basit zamanlamalar için başlangıç saati ilk oluşumdur, ancak karmaşık zamanlamalar için tetikleyici başlangıç zamanından daha erken tetiklenmez. Başlangıç tarihi ve saatini kullanmanın yolları nelerdir?
    Şu günlerde weekDays Hayır Dize veya dize dizisi "Hafta"yı seçerseniz iş akışını çalıştırmak istediğiniz bir veya daha fazla gün seçebilirsiniz: Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi ve Pazar
    Şu saatlerde hours Hayır Tamsayı veya tamsayı dizisi "Gün" veya "Hafta" seçeneğini belirlerseniz, iş akışını çalıştırmak istediğiniz günün saati olarak 0 ile 23 arasında bir veya daha fazla tamsayı seçebilirsiniz. Örneğin, "10", "12" ve "14" belirtirseniz, günün saatleri için 10:00, 12:00 ve 14:00 alırsınız.

    Not: Varsayılan olarak, günün dakikaları yinelenmenin ne zaman başladığına göre hesaplanır. Günün belirli dakikalarını ayarlamak için (örneğin, 10:00, 12:00 ve 14:00) bu değerleri Şu dakikalarda adlı özelliği kullanarak belirtin.
    Şu dakikalarda minutes Hayır Tamsayı veya tamsayı dizisi "Gün" veya "Hafta" seçeneğini belirlerseniz, iş akışını çalıştırmak istediğiniz saatin dakikası olarak 0 ile 59 arasında bir veya daha fazla tamsayı seçebilirsiniz.

    Örneğin, dakika işareti olarak "30" belirtebilirsiniz ve günün saatleri için önceki örneği kullanarak 10:30, 12:30 ve 14:30 pm alırsınız.

    Not: Bazen, tetiklenen çalıştırmanın zaman damgası zamanlanan süreden 1 dakikaya kadar değişebilir. Zaman damgasını tam olarak sonraki eylemlere zamanlandığı gibi geçirmeniz gerekiyorsa, zaman damgasını buna göre değiştirmek için şablon ifadelerini kullanabilirsiniz. Daha fazla bilgi için bkz . İfadeler için tarih ve saat işlevleri.

    Screenshot for Consumption workflow designer and Recurrence trigger with advanced scheduling options.

    Örneğin, bugünün 4 Eylül 2020 Cuma olduğunu varsayalım. Aşağıdaki Yinelenme tetikleyicisi, 18 Eylül 2020 Cuma günü Pasifik Saati ile 08:00 olan belirtilen başlangıç tarihi ve saatinden daha erken tetiklenmez. Ancak yinelenme zamanlaması yalnızca Pazartesi günleri 10:30, 12:30 ve 14:30 olarak ayarlanır. Tetikleyicinin ilk kez tetiklenip bir iş akışı örneği oluşturması Pazartesi günü saat 10:30'da olur. Başlangıç saatlerinin nasıl çalıştığı hakkında daha fazla bilgi edinmek için bu başlangıç zamanı örneklerine bakın.

    Gelecek çalıştırmalar aynı gün saat 12:30 ve 14:30'da gerçekleşir. Her yineleme kendi iş akışı örneğini oluşturur. Bundan sonra, tüm zamanlama gelecek Pazartesi tekrar tekrarlanır. Diğer örnek oluşumlar nelerdir?

    Screenshot showing Consumption workflow and Recurrence trigger with advanced scheduling example.

    Dekont

    Tetikleyici, belirtilen yinelenmeniz için yalnızca sıklık olarak Gün veya Hafta seçeneğini belirlediğinizde bir önizleme gösterir.

  6. Şimdi iş akışınızı diğer eylemlerle oluşturmaya devam edin.

İş akışı tanımı - Yinelenme

Tüketim mantıksal uygulamaları ve Standart mantıksal uygulamalar (yalnızca durum bilgisi olan) bölümünde iş akışınız için temel JSON tanımını gözden geçirerek, Seçtiğiniz seçeneklerle Yinelenme tetikleyici tanımının nasıl göründüğünü görüntüleyebilirsiniz.

Mantıksal uygulamanızın Tüketim mi yoksa Standart mı olduğuna bağlı olarak aşağıdaki seçeneklerden birini belirleyin:

  • Tüketim: Tasarımcı araç çubuğunda Kod görünümü'nü seçin. Tasarımcıya dönmek için kod görünümü düzenleyicisi araç çubuğunda Tasarım Aracı'ı seçin.

  • Standart: İş akışı menüsünde Kod görünümü'nü seçin. Tasarımcıya dönmek için iş akışı menüsünde Tasarım Aracı'ı seçin.

Aşağıdaki örnekte, iş akışının temel JSON tanımında Yinelenme tetikleyicisi tanımının nasıl görünebileceği gösterilmektedir:

"triggers": {
   "Recurrence": {
      "type": "Recurrence",
      "recurrence": {
         "frequency": "Week",
         "interval": 1,
         "schedule": {
            "hours": [
               10,
               12,
               14
            ],
            "minutes": [
               30
            ],
            "weekDays": [
               "Monday"
            ]
         },
         "startTime": "2020-09-07T14:00:00Z",
         "timeZone": "Pacific Standard Time"
      }
   }
}

Dekont

Yinelenme tetikleyicisi tanımında evaluatedRecurrence , yineleme ölçütlerinde herhangi bir ifade veya parametre başvurusu göründüğünde özelliği özelliğiyle recurrence birlikte görüntülenir. Bu evaluatedRecurrence özellik, ifadeden veya parametre başvurusundan değerlendirilen değerleri temsil eder. Yinelenme ölçütleri herhangi bir ifade veya parametre başvurusu belirtmiyorsa ve evaluatedRecurrencerecurrence özellikleri aynıdır.

Aşağıdaki örnekte tetikleyici tanımının, tetikleyicinin her ayın son gününde yalnızca bir kez çalışacak şekilde nasıl güncelleştirilmesi gösterilmektedir:

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

Yinelenme kayması ve kayması tetikleme (yaz saati)

İşleri zamanlamak için Azure Logic Apps, işlenmek üzere iletiyi kuyruğa yerleştirir ve son işin çalıştırıldığı UTC saati ve bir sonraki işin çalışmak üzere zamanlandığı UTC saati temelinde bu iletinin ne zaman kullanılabilir duruma geldiğini belirtir. Yinelenmenizle bir başlangıç saati belirtirseniz, mantıksal uygulama iş akışınızın belirtilen başlangıç saatinde çalışması için bir saat dilimi seçtiğinizden emin olun. Bu şekilde, mantıksal uygulamanızın UTC saati de mevsimsel zaman değişikliğini karşı koyacak şekilde değişir. Yinelenen tetikleyiciler, belirttiğiniz saat dilimi dahil olmak üzere ayarladığınız zamanlamaya uygun olur.

Aksi takdirde, bir saat dilimi seçmezseniz, tetikleyiciler çalıştırıldığında yaz saati (DST) olayları etkilenebilir. Örneğin, başlangıç saati DST başlatıldığında bir saat ileri ve DST sona erdiğinde bir saat geriye doğru kayar. Ancak bazı zaman pencereleri zaman kaydığında sorunlara neden olabilir. Daha fazla bilgi ve örnek için bkz . Gün ışığından yararlanma saati ve standart saat için yinelenme.

Sonraki adımlar