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

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

Bu nasıl yapılır kılavuzu, yerleşik İstek tetikleyicisini kullanarak başka bir hizmetten gelen HTTPS isteğini veya çağrısını alıp işleyebilen bir mantıksal uygulama iş akışı oluşturmayı gösterir. İş akışınız bu tetikleyiciyi kullandığında, Yanıt yerleşik eylemini kullanarak HTTPS isteğini yanıtlayabilirsiniz.

Dekont

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

Örneğin, bu listede İstek tetikleyicisi ve Yanıt eylemini kullandığınızda iş akışınızın gerçekleştirebileceği bazı görevler açıklanmaktadır:

  • Ş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.

Ön koşullar

  • Bir Azure hesabı ve aboneliği Aboneliğiniz yoksa ücretsiz bir Azure hesabına kaydolabilirsiniz.

  • Gelen HTTPS isteğini almak istediğiniz mantıksal uygulama iş akışı. İş akışınızı İstek tetikleyicisiyle başlatmak için boş bir iş akışıyla başlamanız gerekir. Yanıt eylemini kullanmak için iş akışınızın İstek tetikleyicisiyle başlaması gerekir.

İ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 Azure Logic Apps'te HTTPS uç noktalarıyla iş akışlarını çağırma, tetikleme veya iç içe yerleştirme bölümünü gözden geçirin.

  1. Azure portalında Tüketim mantığı uygulamanızı ve boş iş akışınızı tasarımcıda açın.

  2. Tasarımcıda, HTTP isteği alındığında adlı İstek yerleşik tetikleyicisini bulmak ve eklemek için bu genel adımları izleyin.

  3. Tetikleyici bilgileri kutusu göründükten sonra, aşağıdaki bilgileri gerektiği gibi sağlayın:

    Özellik adı JSON özellik adı Zorunlu Tanım
    HTTP POST URL'si {none} 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:

    Screenshot showing Consumption workflow and Request trigger with example JSON schema.

    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"
                      }
                   }
                }
             }
          }
       }
    }
    

    JSON şeması girdiğinizde tasarımcı, isteğinize content-Type üst bilgisini eklemek ve bu üst bilgi değerini application/json olarak ayarlamak için bir anımsatıcı gösterir. Daha fazla bilgi için bkz . İçerik türlerini işleme.

    Screenshot showing Consumption workflow, Request trigger, and reminder to include

    Aşağıdaki örnekte İçerik Türü üst bilgisinin JSON biçiminde nasıl göründüğü gösterilmektedir:

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

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

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

      Screenshot showing Consumption workflow, Request trigger, and

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

      Screenshot showing Consumption workflow, Request trigger, and sample payload entered to generate schema.

      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"
            }
         }
      }
      
  4. 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. addtionalProperties özelliğini ekleyin ve değerini olarak falseayarlayı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. İstek tetikleyicisinin başlık çubuğunda üç nokta düğmesini (...) seçin.

    3. Tetikleyicinin ayarlarında Şema Doğrulama'yı açın ve Bitti'yi seçin.

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

  5. Tetikleyiciye başka özellikler veya parametreler eklemek için Yeni parametre ekle listesini açın ve eklemek istediğiniz parametreleri seçin.

    Özellik adı JSON özellik adı Zorunlu Tanım
    Yöntem method Hayır Gelen isteğin mantıksal uygulamayı çağırmak için kullanması gereken yöntem
    Göreli yol relativePath Hayır Mantıksal uygulamanın uç nokta URL'sinin kabul edebildiği parametrenin göreli yolu

    Aşağıdaki örnek Method özelliğini ekler:

    Screenshot showing Consumption workflow, Request trigger, and adding the

    Listeden bir yöntem seçebilmeniz için Method özelliği tetikleyicide görünür.

    Screenshot showing Consumption workflow, Request trigger, and the

  6. 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.

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

    Screenshot showing Consumption workflow, Request trigger, and URL copy button selected.

    Dekont

    İ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.

Dekont

İş 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.

Daha önce Güvenli Yuva Katmanı (SSL) olarak bilinen Aktarım Katmanı Güvenliği (TLS), Microsoft Entra ID Açık Kimlik Doğrulaması (Microsoft Entra ID OAuth) gibi iş akışınıza gelen çağrılar için güvenlik, yetkilendirme ve şifreleme, mantıksal uygulama kaynağınızı Azure API Management ile kullanıma açma veya gelen çağrıları oluşturan IP adreslerini kısıtlama hakkında bilgi için bkz. İstek tabanlı tetikleyicilere gelen çağrılar için güvenli erişim ve veri - Erişim.

Tetikleyici çıkışları

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

JSON özellik adı Veri türü Tanım
Üstbilgi Nesne İstekten üst bilgileri açıklayan bir JSON nesnesi
gövde 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 İstek tetikleyicisiyle çalışan Yanı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. Foreach döngüleri 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-*POST ve Content-Type PUT işlemlerini kullandığınızda, ancak GET işlemlerine Content-Dispositiondahil edilmediğinde , Content-Encodingve dışındaki üst bilgiler
    • 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. İş akışı tasarımcısında, Yanıt adlı yerleşik Yanıt eylemini bulmak ve eklemek için bu genel adımları izleyin.

    Kolaylık olması için aşağıdaki örneklerde daraltılmış bir İstek tetikleyicisi gösterilmektedir.

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

    Özellik adı JSON özellik adı Zorunlu Tanım
    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 listesi otomatik olarak açılır. Daha sonra iş akışındaki önceki adımlardan kullanılabilir tüm çıkışları temsil eden belirteçleri seçebilirsiniz. Belirttiğiniz şemanın özellikleri de bu dinamik içerik listesinde görünür. İş akışınızda kullanmak üzere bu özellikleri seçebilirsiniz.

    Örneğin, Üst Bilgiler alanına anahtar adı olarak Content-Type ekleyin 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 listesinden tetikleyici gövdesi çıkışını seçebilirsiniz.

    Screenshot showing Azure portal, Consumption workflow, and Response action information.

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

    Screenshot showing Azure portal, Consumption workflow, and Response action headers in

  3. Eyleme yanıt gövdesi için JSON şeması gibi daha fazla özellik eklemek için Yeni parametre ekle listesinden eklemek istediğiniz parametreleri seçin.

  4. İşiniz bittiğinde iş akışınızı kaydedin. Tasarımcı araç çubuğunda Kaydet'i seçin.

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

İş akışınızı test etmek için oluşturulan URL'ye bir HTTP isteği gönderin. Örneğin, HTTP isteğini göndermek için Postman gibi bir araç kullanabilirsiniz. Tetikleyicinin temel JSON tanımı ve bu tetikleyiciyi çağırma hakkında daha fazla bilgi için, Azure Logic Apps'te İstek tetikleyici türü ve Http uç noktalarıyla iş akışlarını çağırma, tetikleyici veya iç içe yerleştirme konularına bakın.

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 Easy Auth ile Standart mantıksal uygulamalarda iş akışlarını tetikleme'yi gözden geçirin.

Daha önce Güvenli Yuva Katmanı (SSL) olarak bilinen 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 hakkında daha fazla bilgi için bkz. İstek tabanlı tetikleyicilere gelen çağrılar için güvenli erişim ve veri erişimi.

Sonraki adımlar