Aracılığıyla paylaş


Azure Logic Apps'te iş akışlarına gönderilen gelen HTTPS çağrılarını alma ve yanıtlama

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

Bu kılavuzda, yerleşik İstek tetikleyicisini kullanarak başka bir hizmetten gelen HTTPS isteğini alabilen ve işleyebilen bir mantıksal uygulama iş akışının nasıl oluşturulacağı gösterilmektedir. İş akışınız bu tetikleyiciyi kullandığında, iş akışı Yanıt yerleşik eylemini kullanarak HTTPS çağrısına yanıt verebilir.

Not

Yanıt eylemi yalnızca İstek tetikleyicisini kullandığınızda çalışır.

Örneğin, İstek tetikleyicisi ve Yanıt eylemini kullandığınızda iş akışınız aşağıdaki görevleri gerçekleştirebilir:

  • Şirket içi veritabanındaki veriler için HTTPS isteğini alma ve yanıtlama.

  • Başka bir mantıksal uygulama iş akışından gönderilen HTTPS isteğini alma ve yanıtlama.

  • Dış web kancası olayı gerçekleştiğinde iş akışı çalıştırmasını tetikleme.

Bunun yerine giden veya giden istek göndererek iş akışınızı çalıştırmak için HTTP yerleşik tetikleyicisini veya HTTP yerleşik eylemini kullanın.

Önkoşullar

  • Bir Azure hesabı ve aboneliği Aboneliğiniz yoksa ücretsiz bir Azure hesabına kaydolabilirsiniz.
  • Çözümünüzü test etmek için HTTP istekleri gönderebilen bir araç yükleyin veya kullanın, örneğin:

    Dikkat

    Kimlik bilgileri, gizli diziler, erişim belirteçleri, API anahtarları ve diğer benzer bilgiler gibi hassas verileriniz olduğu senaryolarda, verilerinizi gerekli güvenlik özellikleriyle koruyan bir araç kullandığınızdan emin olun. Araç çevrimdışı veya yerel olarak çalışmalı ve çevrimiçi bir hesapta oturum açmayı veya verileri bulutla eşitlemeyi gerektirmemelidir. Bu özelliklere sahip bir araç kullandığınızda, hassas verileri genel kullanıma çıkarma riskini azaltırsınız.

İstek tetikleyicisi ekleme

İstek tetikleyicisi, HTTPS üzerinden yalnızca gelen istekleri işleyen el ile çağrılabilen bir uç nokta oluşturur. Çağıran bu uç noktaya istek gönderdiğinde İstek tetikleyicisi tetiklenir ve iş akışını çalıştırır. Bu tetikleyiciyi çağırma hakkında bilgi için bkz. Azure Logic Apps'te HTTPS uç noktalarıyla iş akışlarını çağırma, tetikleme veya iç içe yerleştirme.

  1. Azure portalında Tüketim mantıksal uygulama kaynağınızı açın.

  2. Kenar çubuğu menüsündeki Geliştirme Araçları'nın altında tasarımcıyı seçerek boş iş akışınızı açın.

  3. Tetikleyicieklemeye yönelik genel adımları izleyerek iş akışınıza Http isteği alındığında adlı İstek yerleşik tetikleyicisini ekleyin.

  4. Tetikleyici bilgileri kutusu göründükten sonra aşağıdaki bilgileri sağlayın:

    Özellik adı JSON özellik adı Zorunlu Açıklama
    HTTP URL'si {yok} Evet İş akışınızı kaydettikten sonra oluşturulan ve iş akışınızı tetikleyen bir istek göndermek için kullanılan uç nokta URL'si.
    İstek Gövdesi JSON Şeması schema Hayır Gelen istek gövdesindeki özellikleri ve değerleri açıklayan JSON şeması. Tasarımcı, istekteki özellikler için belirteçler oluşturmak için bu şemayı kullanır. Bu şekilde, iş akışınız İstek tetikleyicisinden gelen çıkışları ayrıştırabilir, kullanabilir ve iş akışınıza iletebilir.

    JSON şemanız yoksa, Şema oluşturmak için örnek yükü kullanma özelliğini kullanarak örnek bir yükten şema oluşturabilirsiniz.

    Aşağıdaki örnekte örnek bir JSON şeması gösterilmektedir:

    Örnek JSON şemasıyla Tüketim iş akışını ve İstek tetikleyicisi'nin gösterildiği ekran görüntüsü.

    Aşağıdaki örnekte örnek JSON şemasının tamamı gösterilmektedir:

    {
       "type": "object",
       "properties": {
          "account": {
             "type": "object",
             "properties": {
                "name": {
                   "type": "string"
                },
                "ID": {
                   "type": "string"
                },
                "address": {
                   "type": "object",
                   "properties": {
                      "number": {
                         "type": "string"
                      },
                      "street": {
                         "type": "string"
                      },
                      "city": {
                         "type": "string"
                      },
                      "state": {
                         "type": "string"
                      },
                      "country": {
                         "type": "string"
                      },
                      "postalCode": {
                         "type": "string"
                      }
                   }
                }
             }
          }
       }
    }
    

    Bir JSON şeması girdiğinizde, tasarımcı isteğinizde Content-Type başlığını eklemeniz için bir hatırlatma gösterebilir ve bu başlık değerini application/json olarak ayarlayabilir. Daha fazla bilgi için bkz . İçerik türlerini işleme.

    JSON biçiminde üst bilginin nasıl Content-Type göründüğünü gösteren aşağıdaki örnek:

    {
       "Content-Type": "application/json"
    }
    

    Beklenen yükü (verileri) temel alan bir JSON şeması oluşturmak için json-schema.org gibi bir araç kullanabilir veya şu adımları izleyebilirsiniz:

    1. İstek tetikleyicisinde Şema oluşturmak için örnek yükü kullan'ı seçin.

      Tüketim iş akışı, İstek tetikleyicisi ve şema oluşturmak için örnek yükü kullanma seçeneğini gösteren ekran görüntüsü.

    2. Örnek yükü girin ve Bitti'yi seçin.

      Şema oluşturmak için girilen Tüketim iş akışını, İstek tetikleyicisini ve örnek yükü gösteren ekran görüntüsü.

      Aşağıdaki örnekte örnek yük gösterilmektedir:

      {
         "account": {
            "name": "Contoso",
            "ID": "12345",
            "address": {
               "number": "1234",
               "street": "Anywhere Street",
               "city": "AnyTown",
               "state": "AnyState",
               "country": "USA",
               "postalCode": "11111"
            }
         }
      }
      
  5. Gelen çağrının, belirtilen şemanızla eşleşen bir istek gövdesine sahip olup olmadığını denetlemek için şu adımları izleyin:

    1. Gelen iletinin şemanızda açıklanan alanlarla aynı olmasını zorunlu kılmak için, şemanıza özelliğini ekleyin required ve gerekli alanları belirtin. additionalProperties özelliğini ekleyin ve değeri false olarak ayarlayın.

      Örneğin, aşağıdaki şema, gelen iletinin başka hiçbir alana değil, alana sahip msg olması gerektiğini belirtir:

      {
         "properties": {
           "msg": {
              "type": "string"
           }
         },
         "type": "object",
         "required": ["msg"],
         "additionalProperties": false
      }
      
    2. Tasarımcıda İstek tetikleyicisini seçin. Açılan bilgi bölmesinde Ayarlar sekmesini seçin.

    3. Veri İşleme'yi genişletin ve Şema Doğrulama'yıAçık olarak ayarlayın.

      Gelen çağrının istek gövdesi şemanızla eşleşmiyorsa tetikleyici bir HTTP 400 Hatalı İstek hatası döndürür.

  6. Yöntem listesinden tetikleyicinin gelen isteklerin kullanmasını beklediği yöntemi seçin.

    Standart iş akışı, İstek tetikleyicisi ve bir yöntem seçili olarak açılan Yöntem listesini gösteren ekran görüntüsü.

  7. Tetikleyici için başka parametreler varsa Gelişmiş parametreler listesini açın ve istediğiniz parametreleri seçin.

  8. Hazır olduğunuzda iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.

    Bu adım, iş akışını tetikleyen bir istek göndermek için kullanabileceğiniz URL'yi oluşturur.

  9. Oluşturulan URL'yi kopyalamak için URL'nin yanındaki kopyala simgesini seçin.

    Tüketim iş akışı, İstek tetikleyicisi ve URL kopyalama düğmesinin seçili olduğunu gösteren ekran görüntüsü.

    Not

    İstek tetikleyicisine çağrı yaparken karma veya pound simgesini (#) URI'ye eklemek istiyorsanız, bunun yerine şu kodlanmış sürümü kullanın:%25%23

Şimdi, sonraki adım olarak başka bir eylem ekleyerek iş akışınızı oluşturmaya devam edin. Örneğin, özelleştirilmiş bir yanıt döndürmek için kullanabileceğiniz ve bu makalenin devamında açıklanan bir Yanıt eylemi ekleyerek isteği yanıtlayabilirsiniz.

Not

İş akışınız bir gelen isteği yalnızca sınırlı bir süre açık tutar. İş akışınızın bir Yanıt eylemi de içerdiği varsayıldığında, iş akışınız bu süre dolduktan sonra çağırana bir yanıt döndürmezse, iş akışınız çağırana 504 AĞ GEÇIDI ZAMAN AŞıMı durumunu döndürür. İş akışınız bir Yanıt eylemi içermiyorsa, iş akışınız çağırana hemen 202 KABUL EDİLEN durumunu döndürür.

Aktarım Katmanı Güvenliği (TLS), Microsoft Entra Kimliği ile OAuth, Paylaşılan Erişim İmzaları (SAS) gibi iş akışınıza gelen çağrılar için güvenlik, kimlik doğrulaması ve şifreleme, Azure API Management ile mantıksal uygulama kaynağınızı kullanıma açma veya gelen çağrılardan kaynaklanan IP adreslerini kısıtlama hakkında bilgi için bkz. İstek tabanlı tetikleyicilere gelen çağrılar için Erişim.

Tetikleyici çıkışları

Aşağıdaki tabloda İstek tetikleyicisinden elde edilen çıkışlar listelenir:

JSON özellik adı Veri türü Açıklama
headers Nesne İstekten üst bilgileri açıklayan bir JSON nesnesi
body Nesne İstekten gelen gövde içeriğini açıklayan bir JSON nesnesi

Yanıt ekle eylemi

Gelen istekleri almak için İstek tetikleyicisini kullandığınızda, yalnızca İstektetikleyicisiyle çalışanYanıt yerleşik eylemini kullanarak yanıtı modelleyebilir ve yük sonuçlarını çağırana geri gönderebilirsiniz. İstek tetikleyicisi ve Yanıt eylemiyle bu birleşim, istek-yanıt desenini oluşturur. For each ve Until döngüleri ve paralel dallar dışında, yanıt eylemini iş akışınızın herhangi bir yerine ekleyebilirsiniz.

Önemli

  • Yanıt eyleminiz aşağıdaki üst bilgileri içeriyorsa, Azure Logic Apps herhangi bir uyarı veya hata göstermeden bu üst bilgileri oluşturulan yanıt iletisinden otomatik olarak kaldırır. Azure Logic Apps bu üst bilgileri içermez, ancak hizmet bu üst bilgilerle yanıt eylemi içeren iş akışlarını kaydetmenizi engellemez.

    • Allow
    • Content-*üst bilgiler, Content-Disposition, Content-Encoding, ve Content-Type dışında, POST ve PUT işlemlerini kullandığınızda, ancak GET işlemleri için dahil edilmez.
    • Cookie
    • Expires
    • Last-Modified
    • Set-Cookie
    • Transfer-Encoding
  • Dalları olan karmaşık bir iş akışında bir veya daha fazla Yanıt eyleminiz varsa, iş akışının çalışma zamanı sırasında en az bir Yanıt eylemi işlediğinden emin olun. Aksi takdirde, tüm Yanıt eylemleri atlanırsa, iş akışı başarıyla bitse bile çağıran 502 Hatalı Ağ Geçidi hatası alır.

  • Standart mantıksal uygulama durum bilgisi olmayan bir iş akışında Yanıt eylemi iş akışınızda en son görünmelidir. Eylem başka herhangi bir yerde görünürse Azure Logic Apps, diğer tüm eylemlerin çalışması bitene kadar eylemi çalıştırmaz.

  1. Azure portalında Tüketim mantıksal uygulama kaynağınızı açın.

  2. Kenar çubuğu menüsündeki Geliştirme Araçları'nın altında tasarımcıyı seçerek iş akışını açın.

    Bu örnek iş akışı, önceki bölümde eklenen İstek tetikleyicisini kullanır.

  3. İş akışınıza Yerleşik Yanıt eylemini eklemek için eylem ekleme genel adımlarını izleyin.

  4. Eylem bilgileri kutusuna yanıt iletisi için gerekli değerleri ekleyin.

    Özellik adı JSON özellik adı Zorunlu Açıklama
    Durum Kodu statusCode Evet Yanıtta döndürülecek durum kodu
    Üst bilgiler headers Hayır Yanıta eklenecek bir veya daha fazla üst bilgiyi açıklayan bir JSON nesnesi
    Gövde body Hayır Yanıt gövdesi

    Herhangi bir metin alanının içini seçtiğinizde, dinamik içerik listesini (şimşek simgesi) veya ifade düzenleyicisini (işlev simgesi) açma seçeneklerini elde edersiniz. Dinamik içerik listesini seçtiğinizde, iş akışındaki önceki adımlardan kullanılabilen çıkışları seçebilirsiniz. İstek tetikleyicisinde bir şema belirttiyseniz, şema özellikleri dinamik içerik listesinde de görünür ve iş akışınızda kullanabilirsiniz.

    Örneğin, Üst Bilgiler alanında anahtar adı olarak Content-Type kullanın ve anahtar değerini bu makalenin önceki bölümlerinde belirtildiği gibi application/json olarak ayarlayın. Gövde kutusu için dinamik içerik listesini açabilir ve tetikleyici gövdesi çıkışını seçebilirsiniz.

    Azure portalı, Tüketim iş akışı ve Yanıt eylemi bilgilerini gösteren ekran görüntüsü.

    Üst bilgileri JSON biçiminde görüntülemek için Metin görünümüne geç'i seçin.

    Azure portalında, Tüketim iş akışı ve Yanıt eylemi başlıklarını gösteren ekran görüntüsü,

  5. Eylem için başka parametreler varsa Gelişmiş parametreler listesini açın ve istediğiniz parametreleri seçin.

  6. Tamamladığınızda, iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.

İş akışınızı test etme

İş akışınızı tetikleyebilmek için, HTTP isteği aracınızı ve yönergelerini kullanarak İstek tetikleyicisinin beklediği yöntem de dahil olmak üzere İstek tetikleyicisi için oluşturulan URL'ye bir HTTP isteği gönderin.

Tetikleyicinin temel JSON tanımı ve bu tetikleyiciyi çağırma hakkında daha fazla bilgi için şu makalelere bakın: İstek tetikleyici türü ve Azure Logic Apps'te HTTP uç noktalarıyla iş akışlarını çağırma, tetikleyici veya iç içe yerleştirme.

Güvenlik ve kimlik doğrulaması

İstek tetikleyicisiyle başlayan standart mantıksal uygulama iş akışında (web kancası tetikleyicisi değil), yönetilen kimlik kullanarak bu tetikleyici tarafından oluşturulan uç noktaya gönderilen gelen çağrıların kimliğini doğrulamak için Azure İşlevleri sağlamasını kullanabilirsiniz. Bu sağlama , Kolay Kimlik Doğrulaması olarak da bilinir. Daha fazla bilgi için bkz . Easy Auth ile Standart mantıksal uygulamalarda iş akışlarını tetikleme.

Aktarım Katmanı Güvenliği (TLS), Microsoft Entra ID Açık Kimlik Doğrulaması (Microsoft Entra ID OAuth) gibi mantıksal uygulama iş akışınıza gelen çağrılar için güvenlik, yetkilendirme ve şifreleme, mantıksal uygulamanızı Azure API Management ile kullanıma açma veya gelen çağrılardan kaynaklanan IP adreslerini kısıtlama gibi daha fazla bilgi için bkz. İstek tabanlı tetikleyicilere gelen çağrılar için erişim.