Aracılığıyla paylaş


Azure Logic Apps'te HTTPS uç noktalarını kullanarak çağırabileceğiniz, tetikleyebileceğiniz veya iç içe yerleştirebileceğiniz iş akışları oluşturma

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

Bazı senaryolar, diğer hizmetlerden veya iş akışlarından gelen istekleri alabilen bir mantıksal uygulama iş akışı veya URL kullanarak çağırabileceğiniz bir iş akışı oluşturmanızı gerektirebilir. Bu görev için, aşağıdaki istek tabanlı tetikleyici türlerinden herhangi birini kullandığınızda iş akışınızda yerel bir zaman uyumlu HTTPS uç noktasını kullanıma açabilirsiniz:

  • İste
  • HTTP Web kancası
  • ApiConnectionWebhook türüne sahip ve gelen HTTPS isteklerini alabilen yönetilen bağlayıcı tetikleyicileri

Bu kılavuzda, İstek tetikleyicisini ekleyip başka bir iş akışından bu uç noktayı çağırarak iş akışınız için çağrılabilen bir uç nokta oluşturma işlemi gösterilmektedir. Tüm ilkeler aynı şekilde gelen istekleri alabilen diğer istek tabanlı tetikleyici türleri için de geçerlidir.

Önkoşullar

  • Bir Azure hesabı ve aboneliği Aboneliğiniz yoksa, ücretsiz bir Azure hesabı için kaydolun.

  • Çağrılabilen uç noktayı oluşturmak için İstek tetikleyicisini kullanmak istediğiniz mantıksal uygulama iş akışı. Boş bir iş akışıyla veya geçerli tetikleyiciyi değiştirebileceğiniz mevcut bir iş akışıyla başlayabilirsiniz. Bu örnek boş bir iş akışıyla başlar.

  • Çö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, çevrimdışı veya yerel olarak çalışan, verilerinizi bulutla eşitlemeyen ve çevrimiçi bir hesapta oturum açmanızı gerektirmeyen bir araç kullandığınızdan emin olun. Bu şekilde, hassas verileri herkese açık hale getirmekle ilgili riski azaltırsınız.

Çağrılabilen uç nokta oluşturma

Standart veya Tüketim mantıksal uygulaması iş akışına bağlı olarak, ilgili adımları izleyin:

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

  2. HTTP isteği alındığında adlı İstek tetikleyicisini eklemek için bu genel adımları izleyin.

  3. İsteğe bağlı olarak, İstek Gövdesi JSON Şeması kutusuna tetikleyicinin almasını beklediğiniz yükü veya verileri açıklayan bir JSON şeması girebilirsiniz.

    Tasarımcı, tetikleyici çıkışlarını temsil eden belirteçler oluşturmak için bu şemayı kullanır. Daha sonra mantıksal uygulamanızın iş akışı boyunca bu çıkışlara kolayca başvurabilirsiniz. JSON şemalarından oluşturulan belirteçler hakkında daha fazla bilgi edinin.

    Bu örnek için aşağıdaki şemayı girin:

    {
       "type": "object",
       "properties": {
          "address": {
             "type": "object",
             "properties": {
                "streetNumber": {
                   "type": "string"
                },
                "streetName": {
                   "type": "string"
                },
                "town": {
                   "type": "string"
                },
                "postalCode": {
                   "type": "string"
                }
             }
          }
       }
    }
    

    Örnek şema ile İstek tetikleyicisi ve İstek Gövdesi JSON Şeması parametresiyle Standart iş akışını gösteren ekran görüntüsü.

    Alternatif olarak, örnek bir yük sağlayarak bir JSON şeması oluşturabilirsiniz:

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

    2. Örnek bir JSON yükü girin veya yapıştırın kutusuna örnek yükünüzü girin, örneğin:

      {
         "address": {
            "streetNumber": "00000",
            "streetName": "AnyStreet",
            "town": "AnyTown",
            "postalCode": "11111-1111"
        }
      }
      
    3. Hazır olduğunuzda Bitti'yi seçin.

      İstek Gövdesi JSON Şeması kutusu artık oluşturulan şemayı gösterir.

  4. İş akışınızı kaydedin.

    HTTP POST URL'si kutusu artık diğer hizmetlerin mantıksal uygulama iş akışınızı çağırmak ve tetiklemek için kullanabileceği oluşturulan geri çağırma URL'sini gösterir. Bu URL, kimlik doğrulaması için kullanılan Paylaşılan Erişim İmzası (SAS) anahtarını belirten sorgu parametrelerini içerir.

    Uç nokta için Standart iş akışı, İstek tetikleyicisi ve oluşturulan geri çağırma URL'sini gösteren ekran görüntüsü.

  5. Geri arama URL'sini kopyalamak için şu seçeneklere sahipsiniz:

    • HTTP POST URL'si kutusunun sağındaki URL'yi kopyala (dosyaları kopyala simgesi) öğesini seçin.

    • İş akışınızın Genel Bakış sayfasından geri arama URL'sini kopyalayın.

      1. İş akışı menünüzün Genel Bakış'ı seçin.

      2. Genel Bakış sayfasındaki İş Akışı URL'si altında işaretçinizi URL'nin üzerine getirin ve Panoya kopyala'yı seçin:

        İş akışı URL'sini içeren Standart iş akışı ve Genel Bakış sayfasını gösteren ekran görüntüsü.

  6. Geri çağırma URL'sini test etmek ve iş akışını tetikleyebilmek için HTTP isteği aracınızı ve yönergelerini kullanarak İstek tetikleyicisinin beklediği yöntem de dahil olmak üzere URL'ye bir HTTP isteği gönderin.

    Bu örnekte kopyalanan URL ile POST yöntemi kullanılır ve aşağıdaki örneğe benzer:

    POST https://{logic-app-name}.azurewebsites.net:443/api/{workflow-name}/triggers/{trigger-name}/invoke?api-version=2022-05-01&sp=%2Ftriggers%2F{trigger-name}%2Frun&sv=1.0&sig={shared-access-signature}

Beklenen istek yöntemini seçin

Varsayılan olarak İstek tetikleyicisi bir POST istek bekler. Ancak, çağıranın kullanması gereken farklı bir yöntem belirtebilir, ancak yalnızca tek bir yöntem belirtebilirsiniz.

  1. İstek tetikleyicisinde Gelişmiş parametreler listesini açın ve bu özelliği tetikleyiciye ekleyen Yöntem'i seçin.

  2. Yöntem listesinden tetikleyicinin beklemesi gereken yöntemi seçin. İsterseniz özel bir yöntem de belirtebilirsiniz.

    Örneğin, uç noktanızın URL'sini daha sonra test edebilmeniz için GET yöntemini seçin.

Parametreleri uç nokta URL'si üzerinden geçirme

Uç noktanın URL'si aracılığıyla parametre değerlerini kabul etmek istediğinizde şu seçeneklere sahip olursunuz:

  • GET parametreleri veya URL parametreleri aracılığıyla değerleri kabul edin.

    Bu değerler, uç noktanın URL'sinde ad-değer çiftleri olarak geçirilir. Bu seçenek için İstek tetikleyicinizde GET yöntemini kullanmanız gerekir. Sonraki bir eylemde, bir ifadedeki işlevini kullanarak triggerOutputs() parametre değerlerini tetikleyici çıkışları olarak alabilirsiniz.

  • İstek tetikleyicinizdeki parametreler için göreli bir yol üzerinden değerleri kabul edin.

    Bu değerler, uç noktanın URL'sindeki göreli bir yoldan geçirilir. Tetikleyicinin beklediği yöntemi de açıkça seçmeniz gerekir. Sonraki bir eylemde, bu çıkışlara doğrudan başvurarak parametre değerlerini tetikleyici çıkışları olarak alabilirsiniz.

GET parametreleri aracılığıyla değerleri kabul etme

  1. İstek tetikleyicisinde Gelişmiş parametreleri açın, tetikleyiciye Method özelliğini ekleyin ve GET yöntemini seçin.

    Daha fazla bilgi için bkz . Beklenen istek yöntemini seçme.

  2. Tasarımcıda, parametre değerini kullanmak istediğiniz eylemi eklemek için bu genel adımları izleyin.

    Bu örnekte Yanıt adlı eylemi seçin.

  3. Parametre değerini alan ifadeyi oluşturmak triggerOutputs() için şu adımları izleyin:

    1. Yanıt eyleminde Body özelliğinin içini seçerek dinamik içerik (şimşek simgesi) ve ifade düzenleyicisi (formül simgesi) seçeneklerinin gösterilmesini sağlayın. İfade düzenleyicisini açmak için formül simgesini seçin.

    2. İfade kutusuna aşağıdaki ifadeyi girin ve değerini parametre adınızla değiştirin parameter-name ve Tamam'ı seçin.

      triggerOutputs()['queries']['parameter-name']

      Standart iş akışı, Yanıt eylemi ve triggerOutputs() ifadesini gösteren ekran görüntüsü.

      Body özelliğinde ifade belirteci triggerOutputs() çözümler.

      Yanıt eyleminin çözümlenen triggerOutputs() ifadesini içeren Standart iş akışını gösteren ekran görüntüsü.

      İş akışını kaydeder, tasarımcıdan uzaklaşır ve tasarımcıya dönerseniz, belirteç belirttiğiniz parametre adını gösterir, örneğin:

      Parametre adı için Yanıt eyleminin çözümlenmiş ifadesiyle Standart iş akışını gösteren ekran görüntüsü.

      Kod görünümünde Body özelliği, Yanıt eyleminin tanımında aşağıdaki gibi görünür:

      "body": "@{triggerOutputs()['queries']['parameter-name']}",

      Örneğin, adlı postalCodeparametre için bir değer geçirmek istediğinizi varsayalım. Body özelliği, Postal Code: sonunda boşluk olan dizeyi ve ardından karşılık gelen ifadeyi belirtir:

      Yanıt eylemi ve örnek triggerOutputs() ifadesi içeren Standart iş akışını gösteren ekran görüntüsü.

Çağrılabilen uç noktanızı test edin

  1. İstek tetikleyicisinden iş akışı URL'sini kopyalayın ve URL'yi başka bir tarayıcı penceresine yapıştırın. URL'de, parametre adını ve değerini URL'ye aşağıdaki biçimde ekleyin ve Enter tuşuna basın.

    ...invoke/{parameter-name}/{parameter-value}?api-version=2022-05-01...

    Örneğin:

    https://mystandardlogicapp.azurewebsites.net/api/Stateful-Workflow/triggers/When_a_HTTP_request_is_received/invoke/address/12345?api-version=2022-05-01&sp=%2Ftriggers%2FWhen_a_HTTP_request_is_received%2Frun&sv=1.0&sig={shared-access-signature}

    Tarayıcı şu metni içeren bir yanıt döndürür: Postal Code: 123456

    İstekten geri çağırma URL'sine standart iş akışı yanıtı içeren tarayıcıyı gösteren ekran görüntüsü.

Not

Karma veya pound simgesini (#) URI'ye eklemek istiyorsanız, bunun yerine şu kodlanmış sürümü kullanın: %25%23

Göreli bir yol üzerinden değerleri kabul etme

  1. İstek tetikleyicisinde Gelişmiş parametreler listesini açın ve bu özelliği tetikleyiciye ekleyen Göreli yol'ı seçin.

    Standart iş akışı, İstek tetikleyicisi ve Göreli yol adlı eklenen özelliği gösteren ekran görüntüsü.

  2. Göreli yol özelliğinde, JSON şemanızda URL'nizin kabul etmelerini istediğiniz parametrenin göreli yolunu belirtin; örneğin, /address/{postalCode}.

    Standart iş akışı, İstek tetikleyicisi ve Göreli yol parametre değerini gösteren ekran görüntüsü.

  3. İstek tetikleyicisinin altında, parametre değerini kullanmak istediğiniz eylemi eklemek için bu genel adımları izleyin.

    Bu örnekte Yanıt eylemini ekleyin.

  4. Yanıt eyleminin Gövde özelliğine, tetikleyicinizin göreli yolunda belirttiğiniz parametreyi temsil eden belirteci ekleyin.

    Örneğin, Yanıt eyleminin döndürmesini Postal Code: {postalCode}istediğinizi varsayalım.

    1. Body özelliğine sondaki bir boşlukla girinPostal Code: . İmlecinizi düzenleme kutusunun içinde tutarak dinamik içerik listesinin açık kalmasını sağlayın.

    2. Dinamik içerik listesinde, HTTP isteği alındığında bölümünde Yol Parametreleri posta kodu tetikleyici çıkışını seçin.

      Standart iş akışı, Yanıt eylemi ve yanıt gövdesine eklenecek belirtilen tetikleyici çıkışını gösteren ekran görüntüsü.

      Body özelliği artık seçili parametreyi içerir:

      Standart iş akışını ve parametreli örnek yanıt gövdesini gösteren ekran görüntüsü.

  5. İş akışınızı kaydedin.

    İstek tetikleyicisinde geri çağırma URL'si güncelleştirilir ve şimdi göreli yolu içerir, örneğin:

    https://mystandardlogicapp.azurewebsites.net/api/Stateful-Workflow/triggers/When_a_HTTP_request_is_received/invoke/address/%7BpostalCode%7D?api-version=2022-05-01&sp=%2Ftriggers%2FWhen_a_HTTP_request_is_received%2Frun&sv=1.0&sig={shared-access-signature}

  6. Çağrılabilen uç noktayı test etmek için İstek tetikleyicisinden güncelleştirilmiş geri çağırma URL'sini kopyalayın, URL'yi başka bir tarayıcı penceresine yapıştırın, URL'yi ile 123456değiştirin %7BpostalCode%7D ve Enter tuşuna basın.

    Tarayıcı şu metni içeren bir yanıt döndürür: Postal Code: 123456

    İstekten geri çağırma URL'sine standart iş akışı yanıtı içeren tarayıcıyı gösteren ekran görüntüsü.

Not

Karma veya pound simgesini (#) URI'ye eklemek istiyorsanız, bunun yerine şu kodlanmış sürümü kullanın: %25%23

Uç nokta URL'si aracılığıyla iş akışını çağırma

Uç noktayı oluşturduktan sonra, uç noktanın tam URL'sine bir HTTPS isteği göndererek iş akışını tetikleyebilirsiniz. Azure Logic Apps iş akışları, doğrudan erişim uç noktaları için yerleşik desteğe sahiptir.

Şemadan oluşturulan belirteçler

İstek tetikleyicisinde bir JSON şeması sağladığınızda, iş akışı tasarımcısı bu şemadaki özellikler için belirteçler oluşturur. Daha sonra bu belirteçleri iş akışınızdan veri geçirmek için kullanabilirsiniz.

Örneğin, JSON şemanıza gibi "suite"daha fazla özellik eklerseniz, iş akışınızın sonraki adımlarında bu özelliklerin belirteçlerini kullanabilirsiniz. JSON şemasının tamamı aşağıdadır:

{
   "type": "object",
   "properties": {
      "address": {
         "type": "object",
         "properties": {
            "streetNumber": {
               "type": "string"
            },
            "streetName": {
               "type": "string"
            },
            "suite": {
               "type": "string"
            },
            "town": {
               "type": "string"
            },
            "postalCode": {
               "type": "string"
            }
         }
      }
   }
}

Diğer iş akışlarını çağırma

İstekleri geçerli iş akışının içine yerleştirerek alabilen diğer iş akışlarını çağırabilirsiniz. Bu iş akışlarını çağırmak için şu adımları izleyin:

  1. Tasarımcıda, bu iş akışı uygulamasında iş akışı çağır adlı İş Akışı İşlemleri eylemini eklemek için bu genel adımları izleyin.

    İş Akışı Adı listesi, seçmeniz için uygun iş akışlarını gösterir.

  2. İş Akışı Adı listesinden, çağırmak istediğiniz iş akışını seçin, örneğin:

    Standart iş akışı, Bu iş akışı uygulamasında iş akışı çağır adlı eylem, açık İş Akışı Adı listesi ve çağrılacak kullanılabilir iş akışlarını gösteren ekran görüntüsü.

Gelen istekten gelen içeriğe başvurma

Gelen isteğin içerik türü ise application/json, gelen istekteki özelliklere başvurabilirsiniz. Aksi takdirde, bu içerik diğer API'lere geçirebileceğiniz tek bir ikili birim olarak değerlendirilir. Mantıksal uygulamanızın iş akışında bu içeriğe başvurmak için önce bu içeriği dönüştürmeniz gerekir.

Örneğin, türü olan application/xml içeriği geçiriyorsanız, XPath ayıklaması gerçekleştirmek için ifadeyi@xpath() kullanabilir veya XML'yi JSON'a dönüştürmek için ifadeyi @json() kullanabilirsiniz. Desteklenen içerik türleriyle çalışma hakkında daha fazla bilgi edinin.

Gelen istekten çıktı almak için ifadesini kullanabilirsiniz.@triggerOutputs Örneğin, aşağıdaki örneğe benzer bir çıktınız olduğunu varsayalım:

{
   "headers": {
      "content-type" : "application/json"
   },
   "body": {
      "myProperty" : "property value"
   }
}

Özellikle özelliğine body erişmek için ifadeyi @triggerBody() kısayol olarak kullanabilirsiniz.

İstekleri yanıtlama

Bazen, çağırana içerik döndürerek iş akışınızı tetikleyen belirli isteklere yanıt vermek istersiniz. Yanıtınızın durum kodunu, üst bilgisini ve gövdesini oluşturmak için Yanıt eylemini kullanın. Bu eylem yalnızca iş akışınızın sonunda değil iş akışınızın herhangi bir yerinde görünebilir. İş akışınız bir Yanıt eylemi içermiyorsa uç nokta 202 Kabul Edildi durumuyla hemen yanıt verir.

Özgün çağıranın yanıtı başarıyla alabilmesi için, tetiklenen iş akışı iç içe iş akışı olarak çağrılmadığı sürece yanıt için gerekli tüm adımların istek zaman aşımı sınırı içinde bitmelidir. Bu sınır içinde yanıt döndürülmezse, gelen istek zaman aşımına uğradı ve 408 İstemci zaman aşımı yanıtını alır.

İç içe geçmiş iş akışları için üst iş akışı, ne kadar süre gerekli olursa olsun tüm adımlar tamamlanana kadar yanıt beklemeye devam eder.

Yanıtı oluşturma

Yanıt gövdesine birden çok üst bilgi ve herhangi bir içerik türü ekleyebilirsiniz. Örneğin, aşağıdaki yanıtın üst bilgisi yanıtın içerik türünün olduğunu application/json ve gövdesinin İstek tetikleyicisi için bu konunun önceki bölümlerinde açıklanan JSON şemasına göre ve postalCode özellikleri için town değerler içerdiğini belirtir.

Yanıt eylemini ve yanıt içerik türünü gösteren ekran görüntüsü.

Yanıtlar şu özelliklere sahiptir:

Özellik (Görüntü) Özellik (JSON) Açıklama
Durum Kodu statusCode Gelen istek için yanıtta kullanılacak HTTPS durum kodu. Bu kod 2xx, 4xx veya 5xx ile başlayan geçerli bir durum kodu olabilir. Ancak, 3xx durum kodlarına izin verilmez.
Üst bilgiler headers Yanıta eklenecek bir veya daha fazla üst bilgi
Gövde body Dize, JSON nesnesi, hatta önceki bir adımdan başvurulmuş ikili içerik olabilecek bir gövde nesnesi

Yanıt eyleminin JSON tanımını ve iş akışınızın tam JSON tanımını görüntülemek için tasarımcı görünümünden kod görünümüne geçin.

"Response": {
   "type": "Response",
   "kind": "http",
   "inputs": {
      "body": {
         "postalCode": "@triggerBody()?['address']?['postalCode']",
         "town": "@triggerBody()?['address']?['town']"
      },
      "headers": {
         "content-type": "application/json"
      },
      "statusCode": 200
   },
   "runAfter": {}
}

Sorular ve Yanıtlar

S: Gelen aramalar için URL güvenliği ne olacak?

Y: Azure, Paylaşılan Erişim İmzası (SAS) kullanarak mantıksal uygulama geri çağırma URL'lerini güvenli bir şekilde oluşturur. Bu imza bir sorgu parametresi olarak geçer ve iş akışınızın çalıştırılabilmesi için önce doğrulanması gerekir. Azure, mantıksal uygulama başına gizli anahtarın benzersiz bir bileşimini, tetikleyici adını ve gerçekleştirilen işlemi kullanarak imzayı oluşturur. Bu nedenle, gizli dizi mantıksal uygulama anahtarına erişimi olmadığı sürece geçerli bir imza oluşturamaz.

Önemli

Üretim ve daha yüksek güvenlik sistemleri için aşağıdaki nedenlerle iş akışınızı doğrudan tarayıcıdan çağırmamanızı kesinlikle öneririz:

  • Paylaşılan erişim anahtarı URL'de görünür.
  • Azure Logic Apps müşterileri genelinde paylaşılan etki alanları nedeniyle güvenlik içerik ilkelerini yönetemezsiniz.

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, Azure API Management ile mantıksal uygulama iş akışınızı ortaya çıkarma veya gelen çağrıları oluşturan 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.

S: Çağrılabilen uç noktaları daha fazla yapılandırabilir miyim?

Y: Evet, HTTPS uç noktaları Azure API Management aracılığıyla daha gelişmiş yapılandırmayı destekler. Bu hizmet ayrıca mantıksal uygulamalar dahil olmak üzere tüm API'lerinizi tutarlı bir şekilde yönetme, özel etki alanı adları ayarlama, daha fazla kimlik doğrulama yöntemi kullanma ve daha fazlasını yapmanıza olanak sağlar. Örneğin:

Sonraki adımlar