Azure Logic Apps çağırabilmeniz için özel API 'Ler oluşturunCreate custom APIs you can call from Azure Logic Apps

Azure Logic Apps, mantıksal uygulama iş akışlarında kullanabileceğiniz yüzlerce bağlayıcı sunmakla birlikte, bağlayıcı olarak kullanılamayan API 'leri, sistemleri ve Hizmetleri çağırmak isteyebilirsiniz.Although Azure Logic Apps offers hundreds of connectors that you can use in logic app workflows, you might want to call APIs, systems, and services that aren't available as connectors. Logic Apps 'te kullanılacak eylemler ve Tetikleyiciler sağlayan kendi API 'lerinizi oluşturabilirsiniz.You can create your own APIs that provide actions and triggers to use in logic apps. Mantıksal uygulama iş akışlarından çağırabilmeniz için kendi API 'lerinizi oluşturmak isteyebileceğiniz diğer nedenler şunlardır:Here are other reasons why you might want to create your own APIs that you can call from logic app workflows:

  • Geçerli sistem tümleştirmenizi ve veri tümleştirme iş akışlarınızı genişletin.Extend your current system integration and data integration workflows.
  • Müşterilerin profesyonel veya kişisel görevleri yönetmek için hizmetinizi kullanmasına yardımcı olun.Help customers use your service to manage professional or personal tasks.
  • Hizmetiniz için erişim, keşfedilebilirlik ve kullanım alanını genişletin.Expand the reach, discoverability, and use for your service.

Temel olarak bağlayıcılar, eklenebilir arabirimler için REST, belgeler için Swagger meta veri biçimi ve veri değişim BIÇIMI olarak JSON kullanan Web API 'lardır.Basically, connectors are web APIs that use REST for pluggable interfaces, Swagger metadata format for documentation, and JSON as their data exchange format. Bağlayıcılar HTTP uç noktaları üzerinden iletişim kuran REST API 'Leri olduğundan, bağlayıcılar oluşturmak için .NET, Java, Python veya Node. js gibi herhangi bir dili kullanabilirsiniz.Because connectors are REST APIs that communicate through HTTP endpoints, you can use any language, like .NET, Java, Python, or Node.js, for building connectors. API 'lerinizi, API barındırma için en iyi, en kolay ve en ölçeklenebilir yollarla bir hizmet olarak platform (PaaS) sunan Azure App Servicede barındırabilirsiniz.You can also host your APIs on Azure App Service, a platform-as-a-service (PaaS) offering that provides one of the best, easiest, and most scalable ways for API hosting.

Özel API 'Lerin Logic Apps ile çalışması için API 'niz mantıksal uygulama iş akışlarında belirli görevleri gerçekleştiren Eylemler sağlayabilir.For custom APIs to work with logic apps, your API can provide actions that perform specific tasks in logic app workflows. API 'niz Ayrıca, yeni veriler veya bir olay belirtilen bir koşulu karşıladığında bir mantıksal uygulama iş akışı Başlatan bir tetikleyici işlevi görür.Your API can also act as a trigger that starts a logic app workflow when new data or an event meets a specified condition. Bu konu, API 'nizin sağlamasını istediğiniz davranışa bağlı olarak API 'inizdeki eylemleri ve Tetikleyicileri oluşturmak için izleyebileceğiniz ortak desenleri açıklar.This topic describes common patterns that you can follow for building actions and triggers in your API, based on the behavior that you want your API to provide.

API 'lerinizi, yüksek düzeyde ölçeklenebilir ve kolay API barındırma sağlayan bir hizmet olarak platform (PaaS) teklifi olan Azure App Servicebarındırabilirsiniz.You can host your APIs on Azure App Service, a platform-as-a-service (PaaS) offering that provides highly scalable, easy API hosting.

İpucu

API 'lerinizi Web Apps olarak dağıtabilir olsanız da, API 'lerinizi bulutta ve şirket içinde API 'Ler oluştururken, barındırdığınızda ve kullandığınızda işinizi daha kolay hale getirmek için API Apps olarak dağıtmayı göz önünde bulundurun.Although you can deploy your APIs as web apps, consider deploying your APIs as API apps, which can make your job easier when you build, host, and consume APIs in the cloud and on premises. API 'lerinizin herhangi bir kodunu değiştirmeniz gerekmez; kodunuzu bir API uygulamasına dağıtmanız yeterlidir.You don't have to change any code in your APIs -- just deploy your code to an API app. Örneğin, bu dillerle oluşturulan API uygulamalarının nasıl oluşturulacağını öğrenin:For example, learn how to build API apps created with these languages:

Logic Apps için derlenmiş API uygulama örnekleri için GitHub deposunu veya bloguAzure Logic Apps ziyaret edin.For API App samples built for logic apps, visit the Azure Logic Apps GitHub repository or blog.

Özel API 'Lerin özel bağlayıcılardan farkı nedir?How do custom APIs differ from custom connectors?

Özel API 'ler ve özel bağlayıcılar , eklenebilir ARABIRIMLER için REST, belgeler için Swagger meta veri biçimi ve VERI değişim biçimi olarak JSON kullanan Web API 'lerdedir.Custom APIs and custom connectors are web APIs that use REST for pluggable interfaces, Swagger metadata format for documentation, and JSON as their data exchange format. Bu API 'Ler ve bağlayıcılar HTTP uç noktaları üzerinden iletişim kuran REST API 'Leri olduğundan, özel API 'Ler ve bağlayıcılar oluşturmak için .NET, Java, Python veya Node. js gibi herhangi bir dili kullanabilirsiniz.And because these APIs and connectors are REST APIs that communicate through HTTP endpoints, you can use any language, like .NET, Java, Python, or Node.js, for building custom APIs and connectors.

Özel API 'ler, bağlayıcılar olmayan API 'Leri çağırmasına ve HTTP + Swagger, Azure API Management veya App Services ile çağırabilmeniz için uç noktalar sağlamanıza olanak tanır.Custom APIs let you call APIs that aren't connectors, and provide endpoints that you can call with HTTP + Swagger, Azure API Management, or App Services. Özel Bağlayıcılar özel API 'Ler gibi çalışır, ancak aynı zamanda şu özniteliklere sahiptir:Custom connectors work like custom APIs but also have these attributes:

  • Azure 'da Logic Apps bağlayıcı kaynakları olarak kaydedilir.Registered as Logic Apps Connector resources in Azure.
  • Logic Apps tasarımcısında Microsoft tarafından yönetilen bağlayıcılar yanında simgelerle birlikte görüntülenir.Appear with icons alongside Microsoft-managed connectors in the Logic Apps Designer.
  • Yalnızca, mantıksal uygulamaların dağıtıldığı bölgede aynı Azure Active Directory kiracıya ve Azure aboneliğine sahip olan bağlayıcılar ve Logic App kullanıcıları tarafından kullanılabilir.Available only to the connectors' authors and logic app users who have the same Azure Active Directory tenant and Azure subscription in the region where the logic apps are deployed.

Ayrıca, Microsoft sertifikası için kayıtlı bağlayıcılar da aday ekleyebilirsiniz.You can also nominate registered connectors for Microsoft certification. Bu işlem, kayıtlı bağlayıcıların genel kullanım ölçütlerini karşıladığını doğrular ve bu bağlayıcıları Microsoft Flow ve Microsoft PowerApps kullanıcılar için kullanılabilir hale getirir.This process verifies that registered connectors meet the criteria for public use and makes those connectors available for users in Microsoft Flow and Microsoft PowerApps.

Özel Bağlayıcılar hakkında daha fazla bilgi için bkz.For more information about custom connectors, see

Faydalı araçlarHelpful tools

API 'nin aynı zamanda API 'nin işlemlerini ve parametrelerini açıklayan bir Swagger belgesi olduğunda, özel bir API, Logic Apps ile en iyi şekilde çalışmaktadır.A custom API works best with logic apps when the API also has a Swagger document that describes the API's operations and parameters. Swashbucklegibi birçok kitaplık, Swagger dosyasını sizin için otomatik olarak oluşturabilir.Many libraries, like Swashbuckle, can automatically generate the Swagger file for you. Ekran adları, özellik türleri vb. için Swagger dosyasına ek açıklama eklemek için trex ' i de kullanarak Swagger dosyanızın Logic Apps ile düzgün bir şekilde çalışmasına olanak sağlayabilirsiniz.To annotate the Swagger file for display names, property types, and so on, you can also use TRex so that your Swagger file works well with logic apps.

Eylem desenleriAction patterns

Mantıksal uygulamaların görevleri gerçekleştirmesi için özel API 'niz eylemsağlamalıdır.For logic apps to perform tasks, your custom API should provide actions. API 'inizdeki her işlem bir eyleme eşlenir.Each operation in your API maps to an action. Temel eylem, HTTP isteklerini kabul eden ve HTTP yanıtlarını döndüren bir denetleyiciden yapılır.A basic action is a controller that accepts HTTP requests and returns HTTP responses. Örneğin, bir mantıksal uygulama Web uygulamanıza veya API uygulamanıza HTTP isteği gönderir.So for example, a logic app sends an HTTP request to your web app or API app. Daha sonra uygulamanız, mantıksal uygulamanın işleyebilmesine yönelik içerikle birlikte bir HTTP yanıtı döndürür.Your app then returns an HTTP response, along with content that the logic app can process.

Standart bir eylem için, API 'nize bir HTTP istek yöntemi yazabilir ve bu yöntemi Swagger dosyasında tanımlayabilirsiniz.For a standard action, you can write an HTTP request method in your API and describe that method in a Swagger file. Daha sonra API 'nizi doğrudan bir http eylemiyle veya bir http + Swagger eylemiyle çağırabilirsiniz.You can then call your API directly with an HTTP action or an HTTP + Swagger action. Varsayılan olarak, yanıtların istek zaman aşımı sınırıiçinde döndürülmesi gerekir.By default, responses must be returned within the request timeout limit.

Standart eylem deseninin

API 'niz uzun süre çalışan görevleri bitirirken bir mantıksal uygulamanın beklemesini sağlamak için API 'niz, zaman uyumsuz yoklama düzenine veya bu konuda açıklanan zaman uyumsuz Web kancası düzenine göre değişiklik yapabilir.To make a logic app wait while your API finishes longer-running tasks, your API can follow the asynchronous polling pattern or the asynchronous webhook pattern described in this topic. Bu desenlerin farklı davranışlarını görselleştirmenize yardımcı olan bir benzerleme vurguladı için bir bakışta özel bir pasta siparişi verme sürecini düşünün.For an analogy that helps you visualize these patterns' different behaviors, imagine the process for ordering a custom cake from a bakery. Yoklama deseninin, pastanın bir tane olup olmadığını denetlemek için 20 dakikada bir fırın çağrısı yaptığınız davranış yansıtılıdır.The polling pattern mirrors the behavior where you call the bakery every 20 minutes to check whether the cake is ready. Web kancası stili, pastanın telefon numaranızı sorduğu, pastanın sizi arayabilmesi için sizi telefon numaranız istediğinde davranışını yansıtır.The webhook pattern mirrors the behavior where the bakery asks you for your phone number so they can call you when the cake is ready.

Örnekler için Logic Apps GitHub deposunuziyaret edin.For samples, visit the Logic Apps GitHub repository. Ayrıca, Eylemler için kullanım ölçümühakkında daha fazla bilgi edinin.Also, learn more about usage metering for actions.

Yoklama eylemi düzeniyle uzun süre çalışan görevler gerçekleştirmePerform long-running tasks with the polling action pattern

API 'nizin istek zaman aşımı sınırındandaha uzun bir süre çalışabilecek görevler gerçekleştirmesini sağlamak için zaman uyumsuz yoklama modelini kullanabilirsiniz.To have your API perform tasks that could run longer than the request timeout limit, you can use the asynchronous polling pattern. Bu düzenin API 'niz ayrı bir iş parçacığında çalışır, ancak Logic Apps altyapısına etkin bir bağlantıyı saklayın.This pattern has your API do work in a separate thread, but keep an active connection to the Logic Apps engine. Bu şekilde, mantıksal uygulama zaman aşımına uğrar veya API çalışmaya başlamadan önce iş akışındaki bir sonraki adımla devam etmez.That way, the logic app does not time out or continue with the next step in the workflow before your API finishes working.

Genel desenler aşağıda verilmiştir:Here's the general pattern:

  1. Altyapının API 'nizin isteği kabul ettiğini ve çalışmaya başlatıldığını bildiğinden emin olun.Make sure that the engine knows that your API accepted the request and started working.
  2. Motor iş durumu için sonraki istekleri yaptığında, API 'niz görevi bitirdiğinde altyapıya izin verir.When the engine makes subsequent requests for job status, let the engine know when your API finishes the task.
  3. Mantıksal uygulama iş akışının devam edebilmesi için ilgili verileri altyapıya döndürün.Return relevant data to the engine so that the logic app workflow can continue.

Şimdi önceki fırın benzerleme vurguladı ' i yoklama düzenine uygulayın ve bir fırın çağırdığınızı ve teslim için özel bir pasta sipariş etdiğinizi düşünün.Now apply the previous bakery analogy to the polling pattern, and imagine that you call a bakery and order a custom cake for delivery. Pastayı oluşturma işlemi zaman alır ve Pastanda pasta üzerinde çalışırken telefonda beklemek istemezsiniz.The process for making the cake takes time, and you don't want to wait on the phone while the bakery works on the cake. Fırının siparişiniz onaylanır ve pastanın durumu için her 20 dakikada bir çağıralım.The bakery confirms your order and has you call every 20 minutes for the cake's status. 20 dakika geçtikten sonra, fırının çağırın, ancak Pastanıza bir 20 dakika sonra çağrı yapmanız gerektiğini söyler.After 20 minutes pass, you call the bakery, but they tell you that your cake isn't done and that you should call in another 20 minutes. Bu geri ve ileriye doğru işlem, çağrılana kadar devam eder ve siz de siparişinizin size ait olduğunu ve pastanızı teslim ettiğini söyler.This back-and-forth process continues until you call, and the bakery tells you that your order is ready and delivers your cake.

Şimdi bu yoklama düzenlerini geri eşleyelim.So let's map this polling pattern back. Bu, özel API 'nizi temsil ederken, pasta müşterisiyseniz Logic Apps altyapısını temsil eder.The bakery represents your custom API, while you, the cake customer, represent the Logic Apps engine. Motor API 'nizi bir istek ile çağırdığında API 'niz isteği onaylar ve altyapının iş durumunu kontrol edip zaman aralığı ile yanıt verir.When the engine calls your API with a request, your API confirms the request and responds with the time interval when the engine can check job status. Motor iş durumunu denetlemeye devam eder ve bu, iş akışına devam eden verileri mantıksal uygulamanıza gönderir.The engine continues checking job status until your API responds that the job is done and returns data to your logic app, which then continues workflow.

Yoklama eylemi kriteri

API 'nizin, API 'nin perspektifinden açıklanacak özel adımlar aşağıda verilmiştir:Here are the specific steps for your API to follow, described from the API's perspective:

  1. API 'niz çalışmaya başlamak için bir http isteği aldığında, bu adımda daha sonra açıklanan 202 ACCEPTED location üst bilgiyle bir http yanıtı döndürür.When your API gets an HTTP request to start work, immediately return an HTTP 202 ACCEPTED response with the location header described later in this step. Bu yanıt, Logic Apps altyapısının API 'nizin isteği aldığı, istek yükünü kabul ettiğini (veri girişi) ve şimdi işleme olduğunu bilmesini sağlar.This response lets the Logic Apps engine know that your API got the request, accepted the request payload (data input), and is now processing.

    202 ACCEPTED Yanıt şu üstbilgileri içermelidir:The 202 ACCEPTED response should include these headers:

    • Gerekli: Logic Apps altyapısının API 'nizin iş durumunu kontrol ettiği bir URL 'nin mutlak yolunu belirten üstbilgilocationRequired: A location header that specifies the absolute path to a URL where the Logic Apps engine can check your API's job status

    • Isteğe bağlı: Altyapının retry-after iş durumu için location URL 'yi denetlemeden önce bekleyeceği saniye sayısını belirten bir üstbilgi.Optional: A retry-after header that specifies the number of seconds that the engine should wait before checking the location URL for job status.

      Varsayılan olarak motor her 20 saniyede bir kontrol eder.By default, the engine checks every 20 seconds. Farklı bir Aralık belirtmek için, sonraki yoklamaya kadar retry-after üstbilgiyi ve saniye sayısını ekleyin.To specify a different interval, include the retry-after header and the number of seconds until the next poll.

  2. Belirtilen süre geçtikten sonra Logic Apps altyapısı, iş durumunu denetlemek için location URL 'yi yoklar.After the specified time passes, the Logic Apps engine polls the location URL to check job status. API 'niz bu denetimleri gerçekleştirmelidir ve bu yanıtları döndürmelidir:Your API should perform these checks and return these responses:

    • İş yapıldığında, yanıt yükünün yanı da (bir 200 OK sonraki adım için giriş) bir http yanıtı döndürün.If the job is done, return an HTTP 200 OK response, along with the response payload (input for the next step).

    • İş hala işlenmeye devam ediyorsa, başka bir http 202 ACCEPTED yanıtı döndürün, ancak özgün Yanıtla aynı üst bilgilere sahip olur.If the job is still processing, return another HTTP 202 ACCEPTED response, but with the same headers as the original response.

API 'niz bu kalıbı izlediğinde, iş durumunu denetlemeye devam etmek için mantıksal uygulama iş akışı tanımında herhangi bir şey yapmanız gerekmez.When your API follows this pattern, you don't have to do anything in the logic app workflow definition to continue checking job status. Motor bir http 202 ACCEPTED yanıtı ve geçerli location bir üst bilgi aldığında, altyapı location zaman uyumsuz düzene uyar ve API 'niz 202 olmayan bir yanıt döndürünceye kadar üstbilgiyi denetler.When the engine gets an HTTP 202 ACCEPTED response and a valid location header, the engine respects the asynchronous pattern and checks the location header until your API returns a non-202 response.

İpucu

Örnek bir zaman uyumsuz model için GitHub 'daki bu zaman uyumsuz denetleyici yanıtı örneğiniinceleyin.For an example asynchronous pattern, review this asynchronous controller response sample in GitHub.

Web kancası eylem düzeniyle uzun süre çalışan görevler gerçekleştirmePerform long-running tasks with the webhook action pattern

Alternatif olarak, uzun süre çalışan görevler ve zaman uyumsuz işleme için Web kancası modelini kullanabilirsiniz.As an alternative, you can use the webhook pattern for long-running tasks and asynchronous processing. Bu düzende, mantıksal uygulama duraklamıştır ve iş akışına devam etmeden önce API 'nizden bir "geri çağırma" işleminin bitmesini bekleyin.This pattern has the logic app pause and wait for a "callback" from your API to finish processing before continuing workflow. Bu geri çağırma, bir olay gerçekleştiğinde bir URL 'ye ileti gönderen bir HTTP GÖNDERMESIDIR.This callback is an HTTP POST that sends a message to a URL when an event happens.

Şimdi önceki fırın benzerleme vurguladı 'i Web kancası düzenine uygulayın ve bir fırın çağırdığınızı ve teslim için özel bir pastanın sipariş edildiğini düşünün.Now apply the previous bakery analogy to the webhook pattern, and imagine that you call a bakery and order a custom cake for delivery. Pastayı oluşturma işlemi zaman alır ve Pastanda pasta üzerinde çalışırken telefonda beklemek istemezsiniz.The process for making the cake takes time, and you don't want to wait on the phone while the bakery works on the cake. Bu durumda siparişiniz onaylanır, ancak bu kez, pasta tamamlandığında sizi arayabilmesi için telefon numaranızı bize verirsiniz.The bakery confirms your order, but this time, you give them your phone number so they can call you when the cake is done. Bu kez, daha sonra siparişiniz için ne zaman hazırlandığını ve pastanızı teslim eder.This time, the bakery tells you when your order is ready and delivers your cake.

Bu Web kancası kalıbını geri eşliyoruz, fırın özel API 'nizi temsil ederken, pasta müşterisiyseniz Logic Apps altyapısını temsil etmektedir.When we map this webhook pattern back, the bakery represents your custom API, while you, the cake customer, represent the Logic Apps engine. Motor, API 'nizi bir istek ile çağırır ve "geri arama" URL 'sini içerir.The engine calls your API with a request and includes a "callback" URL. İş tamamlandığında, API, altyapıyı bilgilendirmek ve mantıksal uygulamanıza veri döndürmek için URL 'YI kullanır ve sonra iş akışına devam eder.When the job is done, your API uses the URL to notify the engine and return data to your logic app, which then continues workflow.

Bu düzende, denetleyicinizde iki uç nokta ayarlayın: subscribe veunsubscribeFor this pattern, set up two endpoints on your controller: subscribe and unsubscribe

  • subscribebkz Yürütme iş akışındaki API 'nin eylemine ulaştığında, Logic Apps altyapısı subscribe uç noktayı çağırır.subscribe endpoint: When execution reaches your API's action in the workflow, the Logic Apps engine calls the subscribe endpoint. Bu adım mantıksal uygulamanın API 'nizin depolayacağı bir geri çağırma URL 'SI oluşturmasına ve sonra iş tamamlandığında API 'nizden geri çağırma işlemini beklemesine neden olur.This step causes the logic app to create a callback URL that your API stores and then wait for the callback from your API when work is complete. API 'niz daha sonra URL 'ye bir HTTP gönderimiyle geri çağrı yapar ve döndürülen içerik ve üst bilgileri mantıksal uygulamaya girdi olarak geçirir.Your API then calls back with an HTTP POST to the URL and passes any returned content and headers as input to the logic app.

  • unsubscribebkz Mantıksal uygulama çalıştırması iptal edilirse, Logic Apps altyapısı unsubscribe uç noktasını çağırır.unsubscribe endpoint: If the logic app run is canceled, the Logic Apps engine calls the unsubscribe endpoint. API 'niz daha sonra geri arama URL 'sini kaydedebilir ve gereken her türlü işlemi durdurabilir.Your API can then unregister the callback URL and stop any processes as necessary.

Web kancası eylem kalıbı

Not

Şu anda Logic App Designer, Swagger aracılığıyla Web kancası uç noktalarının bulunmasını desteklemez.Currently, the Logic App Designer doesn't support discovering webhook endpoints through Swagger. Bu nedenle, bu düzende bir Web kancası eylemi eklemenız ve isteğiniz için URL, üst bilgiler ve gövde belirtmeniz gerekir.So for this pattern, you have to add a Webhook action and specify the URL, headers, and body for your request. Ayrıca bkz. Iş akışı eylemleri ve Tetikleyicileri.See also Workflow actions and triggers. Geri çağırma URL 'sini geçirmek için, bir önceki alanda bulunan @listCallbackUrl() iş akışı işlevini gerekli şekilde kullanabilirsiniz.To pass in the callback URL, you can use the @listCallbackUrl() workflow function in any of the previous fields as necessary.

İpucu

Örnek bir Web kancası düzeniyle ilgili bu Web kancası tetikleyicisi örneğini GitHub 'da inceleyin.For an example webhook pattern, review this webhook trigger sample in GitHub.

Tetikleyici desenleriTrigger patterns

Özel API 'niz, yeni veriler veya bir olay belirtilen bir koşulu karşıladığında bir mantıksal uygulama başlatan bir tetikleyici olarak davranabilir.Your custom API can act as a trigger that starts a logic app when new data or an event meets a specified condition. Bu tetikleyici, hizmet uç noktanıza yeni veriler veya olaylar için düzenli olarak denetleyebilir ya da bekleyip dinleyebilirler.This trigger can either check regularly, or wait and listen, for new data or events at your service endpoint. Yeni veriler veya bir olay belirtilen koşulu karşılıyorsa, tetikleyici ateşlenir ve bu tetikleyiciyi dinleyen mantıksal uygulamayı başlatır.If new data or an event meets the specified condition, the trigger fires and starts the logic app, which is listening to that trigger. Logic Apps 'i bu şekilde başlatmak için, API 'niz yoklama tetikleyicisini veya Web kancası tetikleyici modelini izleyebilir.To start logic apps this way, your API can follow the polling trigger or the webhook trigger pattern. Bu desenler, yoklama eylemleri ve Web kancası eylemleriiçin karşılıklarına benzerdir.These patterns are similar to their counterparts for polling actions and webhook actions. Ayrıca, Tetikleyiciler için kullanım ölçümühakkında daha fazla bilgi edinin.Also, learn more about usage metering for triggers.

Yoklama tetikleme düzeniyle düzenli olarak yeni verileri veya olayları denetleyinCheck for new data or events regularly with the polling trigger pattern

Yoklama tetikleyicisi , bu konuda daha önce açıklanan yoklama eylemine benzer şekilde davranır.A polling trigger acts much like the polling action previously described in this topic. Logic Apps altyapısı, yeni veriler veya olaylar için tetikleyici uç noktasını düzenli aralıklarla çağırır ve denetler.The Logic Apps engine periodically calls and checks the trigger endpoint for new data or events. Motor, belirtilen koşullarınızı karşılayan yeni veriler veya bir olay bulursa, tetikleyici ateşlenir.If the engine finds new data or an event that meets your specified condition, the trigger fires. Daha sonra, altyapı verileri girdi olarak işleyen bir mantıksal uygulama örneği oluşturur.Then, the engine creates a logic app instance that processes the data as input.

Yoklama tetikleyicisi kriteri

Not

Her yoklama isteği, mantıksal uygulama örneği oluşturulmasa bile, eylem yürütmesi olarak sayılır.Each polling request counts as an action execution, even when no logic app instance is created. Aynı verinin birden çok kez işlenmesini engellemek için, Tetikleyiciniz zaten okunmuş ve mantıksal uygulamaya geçirilen verileri temizlemelidir.To prevent processing the same data multiple times, your trigger should clean up data that was already read and passed to the logic app.

Aşağıda, API 'nin perspektifinden tanımlanan bir yoklama tetikleyicisi için özel adımlar verilmiştir:Here are specific steps for a polling trigger, described from the API's perspective:

Yeni veri veya olay bulundu mu?Found new data or event? API yanıtıAPI response
BulunduFound Yanıt yüküne ( 200 OK sonraki adım için giriş) sahip bir HTTP durumu döndürün.Return an HTTP 200 OK status with the response payload (input for next step).
Bu yanıt bir mantıksal uygulama örneği oluşturur ve iş akışını başlatır.This response creates a logic app instance and starts the workflow.
BulunamadıNot found location Üst bilgi ve 202 ACCEPTED üstretry-after bilgi içeren bir HTTP durumu döndürür.Return an HTTP 202 ACCEPTED status with a location header and a retry-after header.
Tetikleyiciler location için üst bilgi, genellikle "timestamp" triggerState olan bir sorgu parametresi de içermelidir.For triggers, the location header should also contain a triggerState query parameter, which is usually a "timestamp." API 'niz mantıksal uygulamanın tetiklendiği son saati izlemek için bu tanımlayıcıyı kullanabilir.Your API can use this identifier to track the last time that the logic app was triggered.

Örneğin, hizmetinizi yeni dosyalara düzenli olarak denetlemek için, bu davranışları içeren bir yoklama tetikleyicisi oluşturabilirsiniz:For example, to periodically check your service for new files, you might build a polling trigger that has these behaviors:

İstek şunları triggerStateiçerir?Request includes triggerState? API yanıtıAPI response
HayırNo Bir http 202 ACCEPTED durumu ve geçerli saate ayarlanmış bir triggerState üstbilgi ve retry-after 15 saniyeye kadar olan bir location üst bilgi döndürür.Return an HTTP 202 ACCEPTED status plus a location header with triggerState set to the current time and the retry-after interval to 15 seconds.
EvetYes DateTime İçintriggerState' den sonra eklenen dosyalar için hizmetinizi kontrol edin.Check your service for files added after the DateTime for triggerState.
Bulunan dosya sayısıNumber of files found API yanıtıAPI response
Tek dosyaSingle file Bir http 200 OK durumu ve içerik yükü döndürün, döndürülen dosya triggerState DateTime için ' a güncelleştirin ve aralığı 15 saniyeye ayarlayın retry-after .Return an HTTP 200 OK status and the content payload, update triggerState to the DateTime for the returned file, and set retry-after interval to 15 seconds.
Birden çok dosyaMultiple files Tek seferde bir dosya ve bir http 200 OK durumu döndürün, güncelleştirin triggerStateve retry-after aralığı 0 saniyeye ayarlayın.Return one file at a time and an HTTP 200 OK status, update triggerState, and set the retry-after interval to 0 seconds.
Bu adımlar, altyapının daha fazla verinin kullanılabildiğini ve altyapının, location üstbilgideki URL 'den verileri hemen istemesi gerektiğini bilmesini sağlar.These steps let the engine know that more data is available, and that the engine should immediately request the data from the URL in the location header.
Dosya yokNo files Bir http 202 ACCEPTED durumu döndürün, değiştirmeyin triggerStateve retry-after aralığı 15 saniyeye ayarlayın.Return an HTTP 202 ACCEPTED status, don't change triggerState, and set the retry-after interval to 15 seconds.

İpucu

Örnek bir yoklama tetikleyici deseninin, GitHub 'daki bu yoklama tetikleme denetleyicisi örneğinigözden geçirin.For an example polling trigger pattern, review this poll trigger controller sample in GitHub.

Web kancası tetikleyici düzeniyle yeni verileri veya olayları bekleme ve dinlemeWait and listen for new data or events with the webhook trigger pattern

Web kancası tetikleyicisi, hizmet uç noktanıza yeni verileri veya olayları bekleyen ve dinleyen bir gönderim tetikleyicisine sahiptir.A webhook trigger is a push trigger that waits and listens for new data or events at your service endpoint. Yeni veriler veya bir olay belirtilen koşulu karşılıyorsa, tetikleyici ateşlenir ve bir mantıksal uygulama örneği oluşturur ve daha sonra verileri girdi olarak işler.If new data or an event meets the specified condition, the trigger fires and creates a logic app instance, which then processes the data as input. Web kancası Tetikleyicileri, bu konuda daha önce açıklanan Web kancası eylemlerine benzer bir şekilde davranır ve ve subscribe unsubscribe uç noktaları ile ayarlanır.Webhook triggers act much like the webhook actions previously described in this topic, and are set up with subscribe and unsubscribe endpoints.

  • subscribebkz Mantıksal uygulamanıza bir Web kancası tetikleyicisi eklediğinizde ve kaydettiğinizde, Logic Apps altyapısı subscribe uç noktasını çağırır.subscribe endpoint: When you add and save a webhook trigger in your logic app, the Logic Apps engine calls the subscribe endpoint. Bu adım mantıksal uygulamanın API 'nizin depoladığını belirten bir geri çağırma URL 'SI oluşturmasına neden olur.This step causes the logic app to create a callback URL that your API stores. Yeni veriler veya belirtilen koşulu karşılayan bir olay olduğunda, API 'niz URL 'ye bir HTTP gönderimiyle geri çağrı yapılır.When there's new data or an event that meets the specified condition, your API calls back with an HTTP POST to the URL. İçerik yükü ve üstbilgiler, Logic App 'e giriş olarak geçer.The content payload and headers pass as input to the logic app.

  • unsubscribebkz Web kancası tetikleyicisi veya tüm mantıksal uygulama silinirse, Logic Apps altyapısı unsubscribe uç noktasını çağırır.unsubscribe endpoint: If the webhook trigger or entire logic app is deleted, the Logic Apps engine calls the unsubscribe endpoint. API 'niz daha sonra geri arama URL 'sini kaydedebilir ve gereken her türlü işlemi durdurabilir.Your API can then unregister the callback URL and stop any processes as necessary.

Web kancası tetikleyici stili

Not

Şu anda Logic App Designer, Swagger aracılığıyla Web kancası uç noktalarının bulunmasını desteklemez.Currently, the Logic App Designer doesn't support discovering webhook endpoints through Swagger. Bu nedenle, bu düzende bir Web kancası tetikleyicisi eklemenız ve isteğiniz için URL, üst bilgiler ve gövde belirtmeniz gerekir.So for this pattern, you have to add a Webhook trigger and specify the URL, headers, and body for your request. Ayrıca bkz. Httpweb kancası tetikleyicisi.See also HTTPWebhook trigger. Geri çağırma URL 'sini geçirmek için, bir önceki alanda bulunan @listCallbackUrl() iş akışı işlevini gerekli şekilde kullanabilirsiniz.To pass in the callback URL, you can use the @listCallbackUrl() workflow function in any of the previous fields as necessary.

Aynı verinin birden çok kez işlenmesini engellemek için, Tetikleyiciniz zaten okunmuş ve mantıksal uygulamaya geçirilen verileri temizlemelidir.To prevent processing the same data multiple times, your trigger should clean up data that was already read and passed to the logic app.

İpucu

Örnek bir Web kancası düzeniyle ilgili bu Web kancası tetikleyici denetleyicisi örneğini GitHub 'da gözden geçirin.For an example webhook pattern, review this webhook trigger controller sample in GitHub.

Mantıksal uygulamalardan API 'lerinize güvenli çağrılarSecure calls to your APIs from logic apps

Özel API 'lerinizi oluşturduktan sonra, mantıksal uygulamalardan güvenli bir şekilde çağırabilmeniz için API 'niz için kimlik doğrulaması ayarlayın.After creating your custom APIs, set up authentication for your APIs so that you can call them securely from logic apps. Mantıksal uygulamalardan özel API 'lere yapılan çağrıların nasıl güvenli hale alınacağınıöğrenin.Learn how to secure calls to custom APIs from logic apps.

API 'lerinizi dağıtın ve çağırınDeploy and call your APIs

Kimlik doğrulamasını ayarladıktan sonra API 'niz için dağıtımı ayarlayın.After you set up authentication, set up deployment for your APIs. Logic Apps 'ten özel API 'leri dağıtmayı ve çağırmayıöğrenin.Learn how to deploy and call custom APIs from logic apps.

Azure 'da özel API 'Ler yayımlamaPublish custom APIs to Azure

Özel API 'lerinizi Azure 'daki diğer Logic Apps kullanıcıları için kullanılabilir hale getirmek için güvenlik eklemeniz ve bunları mantıksal uygulama bağlayıcıları olarak kaydetmeniz gerekir.To make your custom APIs available for other Logic Apps users in Azure, you must add security and register them as Logic App connectors. Daha fazla bilgi için bkz. Özel bağlayıcılara genel bakış.For more information, see Custom connectors overview.

Özel API 'lerinizi Logic Apps, Microsoft Flow ve Microsoft PowerApps tüm kullanıcıları için kullanılabilir hale getirmek için, güvenlik eklemeniz, API 'lerinizi Logic App bağlayıcıları olarak kaydetmeniz ve Microsoft Azure Sertifikalı programiçin bağlayıcılarınızı adaylarınızın aday olması gerekir.To make your custom APIs available to all users in Logic Apps, Microsoft Flow, and Microsoft PowerApps, you must add security, register your APIs as Logic App connectors, and nominate your connectors for the Microsoft Azure Certified program.

Destek alınGet support

Sonraki adımlarNext steps