Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ş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:
- İstek
- HTTP webhook
- ApiConnectionWebhook türüne sahip ve gelen HTTPS isteklerini alabilen yönetilen bağlayıcı tetikleyicileri
Bu kılavuzda İstek tetikleyicisini ekleyerek iş akışınız için çağrılabilen uç nokta oluşturma ve ardından bu uç noktayı başka bir iş akışından çağırma 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ına kaydolun.
Çağrılabilen uç noktayı oluşturmak istediğiniz iş akışına sahip mantıksal uygulama kaynağı.
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:
- Visual Studio Code, Visual Studio Marketplace'ten bir uzantı ile
- 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 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.
Çağrılabilen uç nokta oluşturma
Standart veya Tüketim mantıksal uygulaması iş akışına bağlı olarak, ilgili adımları izleyin:
Azure portalında Standart mantıksal uygulama kaynağınızı açın.
Kaynak kenar çubuğu menüsündeki İş Akışları'nın altında İş Akışları'nı ve ardından boş iş akışınızı seçin.
İş akışı kenar çubuğu menüsündeki Araçlar'ın altında iş akışını açmak için tasarımcıyı seçin.
Tetikleyici eklemek için genel adımları izleyerek İş akışınıza İstek tetikleyicisini ekleyin.
Bu örnek , HTTP isteği alındığında adlı tetikleyiciyle devam eder.
İ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" } } } } }
Alternatif olarak, örnek bir yük sağlayarak bir JSON şeması oluşturabilirsiniz:
İstek tetikleyicisinde Şema oluşturmak için örnek yükü kullan'ı seçin.
Ö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" } }Hazır olduğunuzda Bitti'yi seçin.
İstek Gövdesi JSON Şeması kutusu artık oluşturulan şemayı gösterir.
İş akışınızı kaydedin.
HTTP URL'si kutusu artık mantıksal uygulama iş akışınızı çağırmak ve tetiklemek için diğer hizmetlerin 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.
HTTP URL'si kutusunun yanındaki dosyaları kopyala simgesini seçerek geri arama URL'sini kopyalayın.
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.
İstek tetikleyicisindeki 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
İstek tetikleyicisindeki Yöntem listesinde GET yöntemini seçin.
Daha fazla bilgi için bkz. Beklenen istek yöntemini seçme.
Eylem eklemek için genel adımları izleyerek yanıt eylemini iş akışınıza ekleyin.
Parametre değerini alan ifadeyi oluşturmak
triggerOutputs()için şu adımları izleyin: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.
İfade kutusuna aşağıdaki ifadeyi girin ve değerini parametre adınızla değiştirin
parameter-nameve Tamam'ı seçin.triggerOutputs()['queries']['parameter-name']
Body özelliğinde ifade
triggerOutputs()belirtecine çözülür.
İş akışını kaydeder, tasarımcıdan uzaklaşır ve tasarımcıya dönerseniz, belirteç belirttiğiniz parametre adını gösterir, örneğin:
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:
Çağrılabilen uç noktanızı test edin
İ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: "Posta Kodu: 123456"
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
İstek tetikleyicisinde Gelişmiş parametreler listesini açın ve bu özelliği tetikleyiciye ekleyen Göreli yol'ı seçin.
Göreli yol özelliğinde, JSON şemanızda URL'nizin kabul etmelerini istediğiniz parametrenin göreli yolunu belirtin; örneğin,
/address/{postalCode}.
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.Body özelliğine sondaki bir boşlukla girin
Postal Code:. İmlecinizi düzenleme kutusunun içinde tutarak dinamik içerik listesinin açık kalmasını sağlayın.Dinamik içerik listesini açmak için şimşek simgesini seçin. HTTP isteği alındığında bölümünde postaKod tetikleyicisi çıkışını seçin.
Body özelliği artık seçili parametreyi içerir:
İş 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}Ç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,
%7BpostalCode%7Dile değiştirin ve Enter tuşuna basın.Tarayıcı şu metni içeren bir yanıt döndürür: "Posta Kodu: 123456"
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:
Tasarımcıda, İş Akışı İşlemleri adlı Bu mantıksal uygulamada iş akışını çağır eylemini ekleyin.
İş Akışı Adı listesi, seçmeniz için uygun iş akışlarını gösterir.
İş Akışı Adı listesinden, çağırmak istediğiniz iş akışını seçin, örneğin:
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 ifadeyixpath() kullanabilir veya XML'yi JSON'a dönüştürmek için ifadeyijson() kullanabilirsiniz. Desteklenen içerik türleriyle çalışma hakkında daha fazla bilgi edinin.
Gelen istekten çıktı almak için ifadesini kullanabilirsiniztriggerOutputs. Ö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"
}
}
body özelliğine özellikle erişmek için triggerBody() ifadesini 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, başlatılan iş akışı iç içe bir iş akışı olarak çağrılmadığı sürece, yanıt için gereken tüm adımların istek zaman aşımı sınırı içinde bitmesi gerekir. 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 application/json olduğunu ve gövdesinin, daha önce bu konudaki İstek tetikleyicisi için açıklanan JSON şemasına göre town ve postalCode özellikleri için değerler içerdiğini belirtir.
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. |
| Başlıklar | headers |
Yanıta eklenecek bir veya daha fazla üst bilgi |
| Vücut | 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": {}
}
Sıkça sorulan sorular
Gelen aramalar için URL güvenliği ne olacak?
Azure , paylaşılan erişim imzası (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.
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ı 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şim.
Çağrılabilen uç noktaları daha fazla yapılandırabilir miyim?
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:
- İstek yöntemini ayarlama
- URL'yi yeniden yaz
- Azure portalında API Management etki alanlarınızı ayarlama
- Temel kimlik doğrulamasını denetlemek için ilke ayarlama