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.
Not
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.
Önkoş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.
Çözümünüzü test etmek için HTTP istekleri gönderebilen bir araç yükleyin veya kullanın, örneğin:
- Visual Studio Market'ten uzantılı Visual Studio Code
- PowerShell Invoke-RestMethod
- Microsoft Edge - Ağ Konsolu aracı
- Bruno
- Curl
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.
İ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.
Azure portalında Tüketim mantığı uygulamanızı ve boş iş akışınızı tasarımcıda açın.
Tasarımcıda, HTTP isteği alındığında adlı İstek yerleşik tetikleyicisini bulmak ve eklemek için bu genel adımları izleyin.
Tetikleyici bilgileri kutusu göründükten sonra, aşağıdaki bilgileri gerektiği gibi sağlayın:
Özellik adı JSON özellik adı Zorunlu Açıklama HTTP POST URL'si {none} Yes İş 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:
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.
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:
İstek tetikleyicisinde Şema oluşturmak için örnek yükü kullan'ı seçin.
Örnek yükü girin ve Bitti'yi seçin.
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" } } }
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:
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ğerini olarakfalse
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 }
İstek tetikleyicisinin başlık çubuğunda üç nokta düğmesini (...) seçin.
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.
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 Açıklama 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:
Listeden bir yöntem seçebilmeniz için Method özelliği tetikleyicide görünür.
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.
Oluşturulan URL'yi kopyalamak için URL'nin yanındaki kopyala simgesini seçin.
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.
Daha önce Güvenli Yuva Katmanı (SSL) olarak bilinen Aktarım Katmanı Güvenliği (TLS), Microsoft Entra Kimliği ile OAuth, Paylaşılan Erişim İmzaları (SAS), 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 gibi iş akışınıza gelen çağrılar için güvenlik, kimlik doğrulaması ve şifreleme hakkında bilgi için bkz. İstek tabanlı tetikleyicilere gelen çağrılar için güvenli erişim ve veri erişimi.
Tetikleyici çıkışları
Aşağıdaki tabloda İstek tetikleyicisinden elde edilen çıkışlar listelenir:
JSON özellik adı | Veri türü | Açıklama |
---|---|---|
Üstbilgi | Object | İstekten üst bilgileri açıklayan bir JSON nesnesi |
gövde | Object | İ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ış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. 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 veContent-Type
PUT işlemlerini kullandığınızda, ancak GET işlemlerineContent-Disposition
dahil edilmediğinde ,Content-Encoding
ve 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.
İş 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.
Eylem bilgileri kutusuna yanıt iletisi için gerekli değerleri ekleyin.
Özellik adı JSON özellik adı Zorunlu Açıklama Durum Kodu statusCode
Yes 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.
Üst bilgileri JSON biçiminde görüntülemek için Metin görünümüne geç'i seçin.
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.
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, 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ınabakı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ğlamayı 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.