Azure Logic Apps'de HTTP web kancalarını kullanarak hizmet uç noktası olaylarını temel alan iş akışlarını veya eylemleri çalıştırma

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

Bir iş akışı tetikleyicisinin veya eylemin, olaylar veya verilerin çalışmadan önce hedef hizmet uç noktasına ulaşmasını beklemesini istiyorsanız, uç noktayı bir zamanlamaya göre proaktif olarak denetlemek yerine HTTP Web kancası tetikleyicisini veya eylemini kullanın. HTTP Web Kancası tetikleyicisi veya eylemi hizmet uç noktasına abonedir ve çalıştırmadan önce yeni olayları veya verileri bekler. Uzun süreli çalışan görevler ve zaman uyumsuz işlemler için web kancası desenini kullanabilirsiniz.

Aşağıdaki listede örnek web kancası tabanlı iş akışları açıklanmaktadır:

  • HTTP Webhook tetikleyicisi, iş akışını çalıştırmadan önce Azure Event Hubs'dan bir olayın gelmesini bekler.
  • HTTP Webhook eylemi, iş akışında bir sonraki adıma devam etmeden önce Office 365 Outlook'ta bir onay bekler.

Bu kılavuzda , iş akışınızın bir hizmet uç noktasında yeni olayları veya verileri alıp yanıtlaması için HTTP Web Kancası tetikleyicisi ve HTTP Web Kancası eyleminin nasıl ayarlanacağı gösterilmektedir.

Web kancaları nasıl çalışır?

Webhook tetikleyicisi veya eylemi, hedef hizmet uç noktasında yeni olayları veya verileri yoklamaz veya proaktif olarak kontrol etmez. Bunun yerine tetikleyici veya eylem, yeni olaylar veya veriler çalışmadan önce hizmet uç noktasına ulaşana kadar bekler. İş akışınıza bir web kancası tetikleyicisi veya eylemi ekledikten ve sonra iş akışını kaydettikten sonra veya devre dışı bırakılmış bir mantıksal uygulama kaynağını yeniden etkinleştirdikten sonra, web kancası tetikleyicisi veya eylemi uç noktayla bir geri çağırma URL'si oluşturup kaydederek hizmet uç noktasına abone olur. Tetikleyici veya eylem daha sonra hizmet uç noktasının tetikleyiciyi veya eylemi çalıştıran URL'yi çağırmasını bekler. İstek tetikleyicisi gibi, HTTP Web Kancası tetikleyicisi de hemen tetiklenir.

Örneğin, Yeni e-posta gönder adlı Office 365 Outlook bağlayıcı eylemi web kancası desenini izler ancak yalnızca Office 365 Outlook ile çalışır. HTTP Web kancası tetikleyicisini veya istediğiniz hizmet uç noktasıyla eylemi kullanarak web kancası düzenini herhangi bir hizmete genişletebilirsiniz.

Aşağıdaki eylemlerden birini el ile gerçekleştirene kadar web kancası tetikleyicisi bir hizmet uç noktasına abone olarak kalır:

  • Tetikleyicinin parametre değerlerini değiştirin.
  • Tetikleyiciyi silin ve iş akışınızı kaydedin.
  • Mantıksal uygulama kaynağınızı devre dışı bırakın.

Aşağıdaki koşullardan biri gerçekleşmediği sürece bir web kancası eylemi bir hizmet uç noktasına abone olarak kalır:

  • Web kancası eylemi başarıyla tamamlandı.
  • Yanıt beklerken iş akışı çalıştırmasını iptal edebilirsiniz.
  • İş akışı zaman aşımına uğradı.
  • Webkancası tetikleyicisinin girdi olarak kullandığı tüm webkancası eylem parametre değerlerini değiştirirsiniz.

Daha fazla bilgi için bakınız:

Önkoşullar

  • ** Bir Azure hesabı ve aboneliği. Ücretsiz bir Azure hesabı edinin.

  • Dağıtılan hizmet uç noktasının veya API'sinin URL'si.

    Bu öğe, iş akışlarındaki web kancası tetikleyicileri veya iş akışlarındaki web kancası eylemleri için "abone ol ve abonelikten çık" desenini desteklemelidir.

  • Standart veya Tüketim mantıksal uygulaması iş akışında HTTP Webhook tetikleyicisini veya eylemini kullanmak istediğiniz yer.

    • HTTP Web Kancası tetikleyicisini kullanmak için boş bir iş akışıyla bir mantıksal uygulama kaynağı oluşturun.
    • HTTP Web Kancası eylemini kullanmak için, iş akışınızı senaryonuza en uygun tetikleyicilerle başlatın. Örneklerde HTTP Web Kancası tetikleyicisi kullanılır.

HTTP Webhook tetikleyicisi ekleme

Bu yerleşik tetikleyici, hedef hizmette abone olma uç noktasını çağırır ve hedef hizmete bir geri çağırma URL'si kaydeder. Ardından iş akışınız hedef hizmetin geri çağırma URL'sine istek HTTP POST göndermesini bekler. Bu olay gerçekleştiğinde tetikleyici tetikler ve istekteki tüm verileri iş akışına geçirir.

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

  2. HTTP Web Kancası adlı tetikleyiciyi iş akışınıza eklemek için genel adımları izleyin.

    Bu örnek tetikleyiciyi Run HTTP Webhook trigger daha açıklayıcı bir ad olarak yeniden adlandırır. Örnek daha sonra bir HTTP Web Kancası eylemi de ekler. Her iki ad da benzersiz olmalıdır.

  3. HTTP Web kancası tetikleyici parametreleri için abone olma ve abonelikten çıkma çağrıları için değerleri sağlayın:

    Parametre Zorunlu Açıklama
    Subscribe Yöntemi Evet Hedef uç noktaya abone olmak için kullanılacak yöntem.
    URI'ye abone ol Evet Hedef uç noktaya abone olmak için kullanılacak URL.
    Gövdeye Abone Ol Hayır Abone olma isteğine eklenecek herhangi bir ileti gövdesi. Bu örnek, tetikleyicinizin geri çağırma URL'sini almak için ifade işlevini kullanarak iş akışınız olan aboneyi listCallbackUrl() benzersiz olarak tanımlayan geri çağırma URL'sini içerir.
    Gövde Aboneliğini Kaldır Hayır Abonelikten çıkma isteğine eklenecek herhangi bir ileti gövdesi. İfade işlevini kullanarak eyleminizin geri çağırma URL'sini alabilirsinizlistCallbackUrl(). Ancak tetikleyici, aboneyi benzersiz bir şekilde tanımlamak için hedef hizmetin kullanabileceği üst bilgileri, x-ms-client-tracking-id ve x-ms-workflow-operation-name otomatik olarak içerir ve gönderir.
  4. Diğer tetikleyici parametrelerini eklemek için Gelişmiş parametreler listesini açın.

    Örneğin, Abonelikten Çıkma Yöntemi ve Aboneliği Kaldır URI parametrelerini kullanmak için bunları Gelişmiş parametreler listesinden ekleyin.

    Aşağıdaki örnekte, abone olma ve abonelikten çıkma yöntemleri için kullanılacak yöntemleri, URI'leri ve ileti gövdelerini içeren bir tetikleyici gösterilmektedir:

    HTTP Web Kancası tetikleyicisi parametreleriyle iş akışını gösteren ekran görüntüsü.

  5. Kimlik doğrulaması kullanmanız gerekiyorsa, Gelişmiş parametreler listesinden Abone Ol Kimlik Doğrulaması ve AbonelikTen Çıkma Kimlik Doğrulaması parametrelerini ekleyin.

    HTTP Web Kancası için kullanılabilen kimlik doğrulama türleri hakkında daha fazla bilgi için bkz. Giden çağrılara kimlik doğrulaması ekleme.

  6. Senaryonuzun ihtiyaç duyduğu diğer eylemleri ekleyin.

  7. bitirdiğinizde iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.

İş akışınızı kaydettiğinizde hedef hizmette abone olma uç noktası çağrılır ve geri çağırma URL'si kaydedilir. İş akışınız, hedef hizmetin callback URL'sine istek HTTP POST göndermesini bekler. Bu olay gerçekleştiğinde tetikleyici tetikler ve istekteki tüm verileri iş akışına geçirir. Bu işlem başarıyla tamamlanırsa, tetikleyici uç noktadaki bağlantıyı keser ve iş akışınız bir sonraki adıma devam eder.

HTTP Webhook eylemi ekle

Bu yerleşik eylem, hedef hizmette abone olma uç noktasını çağırır ve hedef hizmete bir geri çağırma URL'si kaydeder. Ardından, iş akışınız duraklatılır ve hedef hizmetin, geri arama URL'sine bir istek HTTP POST göndermesini bekler. Bu olay gerçekleştiğinde, eylem istekteki tüm verileri iş akışına geçirir. İşlem başarıyla tamamlanırsa, uç noktadaki abonelik iptal edilir ve iş akışınız bir sonraki adıma geçer.

  1. Azure portalında mantıksal uygulama kaynağınızı açın. Tasarımcıda iş akışınızı açın.

  2. HTTP Web Kancası adlı eylemi iş akışınıza eklemek için genel adımları izleyin.

    Bu örnek, eylemi Run HTTP Webhook action daha açıklayıcı bir ad olarak yeniden adlandırır. İş akışınız HTTP Web Kancası tetikleyicisini de kullanıyorsa, her iki ad da benzersiz olmalıdır.

  3. HTTP Web kancası eylem parametreleri için abone olma ve abonelikten çıkma çağrıları için kullanılacak değerleri sağlayın:

    Parametre Zorunlu Açıklama
    Subscribe Yöntemi Evet Hedef uç noktaya abone olmak için kullanılacak yöntem.
    URI'ye abone ol Evet Hedef uç noktaya abone olmak için kullanılacak URL.
    Gövdeye Abone Ol Hayır Abone olma isteğine eklenecek herhangi bir ileti gövdesi. Bu örnek, eyleminizin geri çağırma URL'sini almak için listCallbackUrl() ifade fonksiyonunu kullanarak iş akışınız olan aboneyi benzersiz olarak tanımlayan geri çağırma URL'sini içerir.
    Gövde Aboneliğini Kaldır Hayır Abonelikten çıkma isteğine eklenecek herhangi bir ileti gövdesi. İfade işlevini kullanarak eyleminizin geri çağırma URL'sini alabilirsinizlistCallbackUrl(). Ancak, eylem ayrıca hedef hizmetin aboneyi benzersiz olarak tanımlamak için kullanabileceği üst bilgileri x-ms-client-tracking-id ve x-ms-workflow-operation-name değerleriyle otomatik olarak içerir ve gönderir.
  4. Diğer eylem parametrelerini eklemek için Gelişmiş parametreler listesini açın.

    Örneğin, Abonelikten Çıkma Yöntemi ve Aboneliği Kaldır URI parametrelerini kullanmak için bunları Gelişmiş parametreler listesinden ekleyin.

    Aşağıdaki örnekte, abone olma ve abonelikten çıkma yöntemleri için kullanılacak yöntemleri, URI'leri ve ileti gövdelerini içeren bir eylem gösterilmektedir:

    HTTP Web Kancası eylem parametreleriyle Standart iş akışını gösteren ekran görüntüsü.

  5. Kimlik doğrulaması kullanmanız gerekiyorsa, Gelişmiş parametreler listesinden Abone Ol Kimlik Doğrulaması ve AbonelikTen Çıkma Kimlik Doğrulaması parametrelerini ekleyin.

    HTTP Web Kancası için kullanılabilen kimlik doğrulama türleri hakkında daha fazla bilgi için bkz. Giden çağrılara kimlik doğrulaması ekleme.

  6. Senaryonuzun ihtiyaç duyduğu diğer eylemleri ekleyin.

  7. bitirdiğinizde iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.

Bu eylem çalıştırıldığında iş akışınız hedef hizmette abone olma uç noktasını çağırır ve geri çağırma URL'sini kaydeder. İş akışınız duraklatılır ve hedef hizmetin HTTP POST isteğini geri arama URL'sine göndermesini bekler. Bu olay gerçekleştiğinde, eylem istekteki tüm verileri iş akışına geçirir. İşlem başarıyla tamamlanırsa, uç noktadaki abonelik iptal edilir ve iş akışınız bir sonraki adıma geçer.

Konektör teknik referans

HTTP Web kancası tetikleyicisi ve eylem parametreleri hakkında daha fazla bilgi için bkz. HTTP Web kancası parametreleri. Tetikleyici ve eylem aynı parametrelere sahiptir.

Paylaşılan Erişim İmzası (SAS) belirteci süresinin dolması

HTTP Web kancası tetikleyicisi veya eylemi için geri çağırma URL'si, Liste Geri Çağırma Url'si - REST API yöntemi tarafından otomatik olarak oluşturulur. Varsayılan olarak, geri arama URL'sindeki SAS belirtecinin zaman tabanlı bir süre sonu yoktur. Geri çağırma URL'si iş akışı çalıştırma süresi için geçerli kalır.

Zaman aşımı sınırları

Aşağıdaki tabloda, mantıksal uygulama barındırma seçeneğine bağlı olarak HTTP Web Kancası eylemi için zaman aşımı sınırları açıklanmaktadır:

Barındırma seçeneği İş akışı türü Süre
Tüketim Stateful 90 güne kadar.
Standart Stateful 30 güne kadar.
Standart Durumsuz 5 dakika
(sabit sınır)

Aşağıdaki olaylar gerçekleştiğinde HTTP Web Kancası eyleminin geri çağırma URL'si geçersiz hale gelir:

  • İş akışını iptal edin.
  • İş akışını veya mantıksal uygulama kaynağını siler veya devre dışı bırakırsınız.
  • İş akışının erişim anahtarlarını döndürürsiniz.
  • İş akışı zaman aşımına uğradı.

Diğer HTTP sınırları hakkında daha fazla bilgi için Azure Logic Apps'teki HTTP sınırlarına bakın.

Zaman aşımı sınırını değiştirme

Azure portalı kullanarak durum bilgisine sahip iş akışlarında HTTP Web kancası eyleminin bu sınırını değiştirmek için giden HTTP istekleri için zaman aşımı süresi tablosuna bakın. Ya da eylemin JSON tanımında limit.timeout nesnesini ekleyin ve değeri istediğiniz süreye ayarlayın, örneğin:

{
   "actions": {
      "Run_HTTP_Webhook_action": {
         "type": "HttpWebhook",
         "inputs": {
            "subscribe": {
               "method": "POST",
               "uri": "https://<external-service>.com/subscribe",
               "body": {
                  "callbackUrl": "@{listCallBackUrl()}"
               }
            },
            "unsubscribe": {}
         },
         "limit": {
            "timeout": "PT1H"
         }
      }
   }
}

Tetikleyici ve aksiyon çıktıları

Aşağıdaki tablolar, HTTP Web Kancası tetikleyicisi veya eylemi tarafından döndürülen çıkışlar hakkında daha fazla bilgi sağlar:

JSON adı Türü Açıklama
headers JSON nesnesi Talep başlıkları.
body JSON nesnesi İstekten gövde içeriğine sahip nesne.
status code Int İstekten gelen durum kodu.
Durum kodu Açıklama
200 Tamam
202 Kabul edildi
400 Hatalı istek
401 Yetkisiz
403 Yasak
404 Bulunamadı
beş yüz İç sunucu hatası. Bilinmeyen bir hata oluştu.

İkincil erişim anahtarıyla geri çağırma URL'si oluşturma

Mantıksal uygulama iş akışının iki erişim anahtarı vardır: birincil ve ikincil. varsayılan olarak, Azure Logic Apps HTTP web kancası tetikleyicisi için geri çağırma URL'sini oluşturmak için birincil anahtarı kullanır.

Geri arama URL'si oluşturma işlemi yerine ikincil anahtarı kullanmak için şu adımları izleyin:

  1. İş akışı tasarımcısındaysanız kod görünümüne geçin.

  2. Tetikleyici tanımında HttpWebhook parametresini bulun.

  3. Parametre değeri olarak sözcüğü Secondary girin.

  4. Değişikliklerinizi kaydedin.

Aşağıdaki örnek, accessKeyType parametresinin Secondary olarak ayarlandığı web kancası tetikleyici tanımını göstermektedir.

{
  "type": "HttpWebhook",
  "inputs": {
    "subscribe": {
      "method": "POST",
      "uri": "<subscription-URL>",
      "body": "@listCallbackUrl()"
    },
    "accessKeyType": "Secondary"
  },
  "runAfter": {}
}