﻿
{"id":17496,"date":"2020-08-25T06:46:45","date_gmt":"2020-08-25T06:46:45","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=17496"},"modified":"2020-08-25T06:46:45","modified_gmt":"2020-08-25T06:46:45","slug":"azure-functions-serisi-16-timer-trigger","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/azure-functions-serisi-16-timer-trigger\/","title":{"rendered":"Azure Functions Serisi #16 &#8211; Timer Trigger"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bu i\u00e7eri\u011fimizde <a href=\"https:\/\/www.gencayyildiz.com\/blog\/azure-functions-yazi-serisi\/\" rel=\"noopener noreferrer\" target=\"_blank\">Azure Functions yaz\u0131 serisi<\/a>nin onalt\u0131nc\u0131 makalesi olan Timer Trigger konusunu inceleyece\u011fiz.<\/p>\n<h4 style=\"color: #e83e8c;\">Timer Trigger Nedir?<\/h4>\n<p>Timer Trigger, belirli periyotlarda yap\u0131lacak i\u015flemler neticesinde kullan\u0131lan fonksiyon \u00e7e\u015fididir. \u00d6rne\u011fin; uygulaman\u0131zda ki \u00fcyelere periyodik olarak haftal\u0131k i\u00e7erik b\u00fclteni g\u00f6ndermek ya da her ay kullan\u0131c\u0131lar\u0131n aktiflik durumunu kontrol ederek herhangi bir aktivasyon g\u00f6stermeyenlere mail g\u00f6ndermek istedi\u011finiz durumlarda Timer Trigger&#8217;\u0131 kullanabilirsiniz.<\/p>\n<h4 style=\"color: #e83e8c;\">Timer Trigger Nas\u0131l \u00c7al\u0131\u015fmaktad\u0131r?<\/h4>\n<p>Timer Trigger&#8217;\u0131n \u00e7al\u0131\u015fabilmesi i\u00e7in kendisine verilen ve \u00e7al\u0131\u015fma periyodunu ifade eden <em>NCRON Expression<\/em> de\u011feri kullan\u0131lmaktad\u0131r. NCRON, CRON de\u011ferinin bir g\u00f6mlek geli\u015fmi\u015f versiyonudur. \u015eimdi ilk olarak CRON&#8217;u ard\u0131ndan onun bilgisi \u0131\u015f\u0131\u011f\u0131nda NCRON&#8217;u masaya yat\u0131ral\u0131m&#8230;<\/p>\n<p><strong>CRON Nedir?<\/strong><br \/>\nLinux i\u015fletim sistemlerinde periyodik \u00e7al\u0131\u015fmalar\u0131 tarif eden ve b\u00f6ylece i\u015flevsel olarak zamana dayal\u0131 g\u00f6rev tan\u0131mlamam\u0131z\u0131 sa\u011flayan yap\u0131sal ifadedir.<\/p>\n<p>Bir CRON \u00f6rne\u011fi fiziksel olarak a\u015fa\u011f\u0131daki gibidir;<\/p>\n<div style=\"color:yellow;background-color:gray;line-height: 20px;width:550px;\">\n# \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">dakika (0 &#8211; 59)<\/span><br \/>\n# \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">saat (0 &#8211; 23)<\/span><br \/>\n# \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">ay\u0131n g\u00fcn\u00fc (1 &#8211; 31)<\/span><br \/>\n# \u2502 \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">ay (1 &#8211; 12)<\/span><br \/>\n# \u2502 \u2502 \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">haftan\u0131n g\u00fcn\u00fc (0 &#8211; 6) (Pazar&#8217;dan Cumartesiye kadar)<\/span><br \/>\n# \u2502 \u2502 \u2502 \u2502 \u2502<br \/>\n# \u2502 \u2502 \u2502 \u2502 \u2502<br \/>\n# \u2502 \u2502 \u2502 \u2502 \u2502<br \/>\n#<span style=\"letter-spacing: 2px; color:white\"> * * * * *<\/span>\n<\/div>\n<p>Her bir y\u0131ld\u0131z(*) karakteri kendisine kar\u015f\u0131l\u0131k gelen zamansal ifadenin say\u0131sal bildirimini bar\u0131nd\u0131rmaktad\u0131r.<\/p>\n<p>Hasbel kader pratik olmas\u0131 amac\u0131yla a\u015fa\u011f\u0131daki \u00f6rnekleri inceleyiniz;<\/p>\n<ul>\n<li style=\"font-size:15px;\"><em>&#8216;1 12 7 3 2&#8217; ifadesi; Mart ay\u0131n\u0131n 7. g\u00fcn\u00fcn\u00fcn saat 12:01&#8217;ini ve Sal\u0131 g\u00fcn\u00fcn\u00fc ifade eder.<\/em><\/li>\n<li style=\"font-size:15px;\"><em>&#8216;5 21 9 2 5&#8217; ifadesi; \u015eubat ay\u0131n\u0131n 9. g\u00fcn\u00fcn\u00fcn saat 21:05&#8217;ini ve Cuma g\u00fcn\u00fcn\u00fc ifade eder.<\/em><\/li>\n<li style=\"font-size:15px;\"><em>&#8216;5 5 5 5 5&#8217; ifadesi; May\u0131s ay\u0131n\u0131n 5. g\u00fcn\u00fcn\u00fcn saat 05:05&#8217;ini ve Cuma g\u00fcn\u00fcn\u00fc ifade eder.<\/em><\/li>\n<\/ul>\n<p>*(y\u0131ld\u0131z) karakteri ilgili zamansal ifadenin herhangi bir de\u011ferine kar\u015f\u0131l\u0131k gelmektedir;<\/p>\n<ul>\n<li style=\"font-size:15px;\"><em>&#8216;0 22 * * 5&#8217; ifadesi; her Cuma g\u00fcn\u00fcn\u00fcn saat 22:00&#8217;\u0131n\u0131 ifade eder.<\/em><\/li>\n<li style=\"font-size:15px;\"><em>&#8216;* * * * 5&#8217; ifadesi; her Cuma g\u00fcn\u00fcn\u00fcn her dakikas\u0131n\u0131 ifade eder.<\/em><\/li>\n<li style=\"font-size:15px;\"><em>&#8217;11 2 3 4 *&#8217; ifadesi; Nisan ay\u0131n\u0131n 3. g\u00fcn\u00fcn\u00fcn saat 02:11&#8217;ini ifade eder.<\/em><\/li>\n<li style=\"font-size:15px;\"><em>&#8216;* * * * *&#8217; ifadesi; herhangi bir dakikay\u0131<\/em> ifade eder.<\/em><\/li>\n<\/ul>\n<p>\/ karakteri ilgili zamansal ifadenin periyotsal de\u011ferine kar\u015f\u0131l\u0131k gelmektedir;<\/p>\n<ul>\n<li style=\"font-size:15px;\"><em>&#8216;*\/12 3 3 3 3&#8217; ifadesi; 3. ay\u0131n 3. ve \u00c7ar\u015famba g\u00fcnlerinde 3. saatin her 12 dakikada birini ifade eder.<\/em><\/li>\n<li style=\"font-size:15px;\"><em>&#8216;* * * *\/3 *&#8217; ifadesi; her 3 ayda bir dakikay\u0131 ifade eder.<\/em><\/li>\n<\/ul>\n<p>&#8211; karakteri ilgili zamansal ifadenin aral\u0131ksal de\u011ferine kar\u015f\u0131l\u0131k gelmektedir;<\/p>\n<ul>\n<li style=\"font-size:15px;\"><em>&#8216;1-10 * * *\/3 *&#8217; ifadesi; her 3 ayda bir, 1&#8217;den 10&#8217;a kadar olan her dakikay\u0131 ifade eder.<\/em><\/li>\n<li style=\"font-size:15px;\"><em>&#8216;1-10 * 5-7 *\/3 *&#8217; ifadesi; her 3 ayda bir, ay\u0131n 5. g\u00fcn\u00fcnden 7. g\u00fcn\u00fc aras\u0131nda 1&#8217;den 10&#8217;a kadar olan her dakikay\u0131 ifade eder.<\/em><\/li>\n<\/ul>\n<blockquote style=\"color:purple;\"><p><em>CRON hesaplamas\u0131n\u0131 daha net yapabilmek i\u00e7in <a href=\"https:\/\/crontab.guru\/\" rel=\"noopener noreferrer\" target=\"_blank\">crontab.guru<\/a> adresindeki uygulamay\u0131 kullanabilirsiniz.<\/em><\/p><\/blockquote>\n<p><strong>NCRON Nedir?<\/strong><br \/>\nNCRON, CRON de\u011ferinin saniye kat\u0131lm\u0131\u015f halidir.<\/p>\n<div style=\"color:yellow;background-color:gray;line-height: 20px;width:570px;\">\n# \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">saniye (0 &#8211; 59)<\/span><br \/>\n# \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">dakika (0 &#8211; 59)<\/span><br \/>\n# \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">saat (0 &#8211; 23)<\/span><br \/>\n# \u2502 \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">ay\u0131n g\u00fcn\u00fc (1 &#8211; 31)<\/span><br \/>\n# \u2502 \u2502 \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">ay (1 &#8211; 12)<\/span><br \/>\n# \u2502 \u2502 \u2502 \u2502 \u2502 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 <span style=\"font-size:12px;color:white;\">haftan\u0131n g\u00fcn\u00fc (0 &#8211; 6) (Pazar&#8217;dan Cumartesiye kadar)<\/span><br \/>\n# \u2502 \u2502 \u2502 \u2502 \u2502 \u2502<br \/>\n# \u2502 \u2502 \u2502 \u2502 \u2502 \u2502<br \/>\n# \u2502 \u2502 \u2502 \u2502 \u2502 \u2502<br \/>\n#<span style=\"letter-spacing: 2px; color:white\"> * * * * * *<\/span>\n<\/div>\n<p>Azure servisleri zamanlanm\u0131\u015f g\u00f6revlerde NCRON&#8217;u benimsemi\u015ftir.<\/p>\n<h4 style=\"color: #e83e8c;\">Timer Trigger Olu\u015fturma<\/h4>\n<p>Timer Trigger, Visual Studio \u00fczerinden basit\u00e7e olu\u015fturulabilmektedir.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger.jpg\" alt=\"Azure Functions Serisi #16 - Timer Trigger\" width=\"953\" height=\"541\" class=\"aligncenter size-full wp-image-17556\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger.jpg 953w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-300x170.jpg 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-768x436.jpg 768w\" sizes=\"auto, (max-width: 953px) 100vw, 953px\" \/><\/a><br \/>\nSa\u011f taraftaki &#8216;Schedule&#8217; alan\u0131na dikkat ederseniz, zamanlay\u0131c\u0131n\u0131n default program\u0131n\u0131 g\u00f6receksiniz. \u0130stedi\u011finiz gibi m\u00fcdahale edebilir, de\u011fi\u015ftirebilirsiniz.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-1.jpg\" alt=\"Azure Functions Serisi #16 - Timer Trigger\" width=\"792\" height=\"187\" class=\"aligncenter size-full wp-image-17559\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-1.jpg 792w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-1-300x71.jpg 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-1-768x181.jpg 768w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/a><br \/>\nUygulamada direkt kar\u015f\u0131m\u0131za gelen function&#8217;\u0131 da incelersek e\u011fer &#8216;TimerTrigger&#8217; attribute&#8217;u ile i\u015faretlenmi\u015f &#8216;TimerInfo&#8217; t\u00fcr\u00fcnden parametreden olu\u015fmaktad\u0131r. \u0130\u015fte bu da ilgili trigger&#8217;\u0131 Timer Trigger olarak ayarlayan noktad\u0131r. Default olarak gelen &#8216;0 *\/5 * * * *&#8217; de\u011ferinden de anla\u015f\u0131lan her 5 dakikada bir tetiklenecek olmas\u0131d\u0131r.<\/p>\n<p>\u0130lgili function&#8217;\u0131 hi\u00e7 oynamadan direkt olarak derleyip \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda her 5 dakikada bir tetiklendi\u011fini g\u00f6receksiniz. Bizler s\u00fcreci h\u0131zland\u0131rmak i\u00e7in NCRON de\u011ferini her 1 saniyede bir tetiklenecek \u015fekilde<span style=\"font-size:10px;\">(*\/1 * * * * *)<\/span> de\u011fi\u015ftirip derledi\u011fimizde a\u015fa\u011f\u0131daki sonu\u00e7la kar\u015f\u0131la\u015fmaktay\u0131z.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger.gif\" alt=\"Azure Functions Serisi #16 - Timer Trigger\" width=\"800\" height=\"416\" class=\"aligncenter size-full wp-image-17564\" \/><\/a><\/p>\n<p>\u0130\u015fte bu kadar basit&#8230;<\/p>\n<h4 style=\"color: #e83e8c;\">Output Blob Binding<\/h4>\n<p>\u015eimdi Timer Trigger kullanarak Output Blob Binding i\u015flemini ele alan bir \u00f6rnek tasarlayal\u0131m. Bunun i\u00e7in \u00f6ncelikle <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Azure.WebJobs.Extensions.Storage\" rel=\"noopener noreferrer\" target=\"_blank\">Microsoft.Azure.WebJobs.Extensions.Storage<\/a> k\u00fct\u00fcphanesinin uygulamaya y\u00fcklenmesi gerekmektedir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public static class Function1\r\n    {\r\n        &#x5B;FunctionName(&quot;Function1&quot;)]\r\n        public async static Task Run(&#x5B;TimerTrigger(&quot;*\/1 * * * * *&quot;)] TimerInfo myTimer, ILogger log,\r\n            &#x5B;Blob(&quot;logs\/veri.txt&quot;, System.IO.FileAccess.Write, Connection = &quot;StorageConnectionString&quot;)] Stream blobStream)\r\n        {\r\n            string text = $&quot;Timer Trigger tetiklenmi\u015ftir. {DateTime.Now}&quot;;\r\n            byte&#x5B;] buffer = Encoding.ASCII.GetBytes(text);\r\n            await blobStream.WriteAsync(buffer, 0, buffer.Length);\r\n            blobStream.Close();\r\n            await blobStream.DisposeAsync();\r\n        }\r\n    }\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funu incelerseniz e\u011fer; bir Output Blob Binding i\u015flemi ger\u00e7ekle\u015ftirilmekte ve &#8216;logs&#8217; isimli container i\u00e7erisinde &#8216;veri.txt&#8217; dosyas\u0131 olu\u015fturularak(yoksa) i\u00e7erisine gerekli log at\u0131lmaktad\u0131r.<\/p>\n<p>Bu \u015fekilde uygulamay\u0131 derleyip, \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda &#8216;veri.txt&#8217; dosyas\u0131n\u0131n olu\u015fturuldu\u011funu ve i\u00e7erisine a\u015fa\u011f\u0131daki gibi logun at\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6receksiniz.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-2.jpg\" alt=\"Azure Functions Serisi #16 - Timer Trigger\" width=\"765\" height=\"147\" class=\"aligncenter size-full wp-image-17568\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-2.jpg 765w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-2-300x58.jpg 300w\" sizes=\"auto, (max-width: 765px) 100vw, 765px\" \/><\/a><\/p>\n<p>\u0130sterseniz timer trigger tetiklendik\u00e7e container i\u00e7erisine o an\u0131n tarih bilgisini isim olarak alan dosyalar olu\u015fturarak i\u00e7lerine ayr\u0131 ayr\u0131 loglamay\u0131 yapabilirsiniz. Bunun i\u00e7in &#8216;Blob&#8217; attribute&#8217;unda &#8216;blobPath&#8217; de\u011ferini a\u015fa\u011f\u0131daki gibi tan\u0131mlaman\u0131z gerekmektedir.<\/p>\n<div style=\"text-align:center;\"><code style=\"color:red;\"><strong>logs\/{DateTime}.txt<\/strong><\/code><\/div>\n<p><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-3.jpg\" alt=\"Azure Functions Serisi #16 - Timer Trigger\" width=\"750\" height=\"305\" class=\"aligncenter size-full wp-image-17570\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-3.jpg 750w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-3-300x122.jpg 300w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/a><br \/>\nYa da a\u015fa\u011f\u0131daki gibi bir tan\u0131mlamayla random isimde dosyalar olu\u015fturarak loglamalar ger\u00e7ekle\u015ftirilebilir.<\/p>\n<div style=\"text-align:center;\"><code style=\"color:red;\"><strong>logs\/{rand-guid}.txt<\/strong><\/code><\/div>\n<p><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-4.jpg\" alt=\"Azure Functions Serisi #16 - Timer Trigger\" width=\"744\" height=\"250\" class=\"aligncenter size-full wp-image-17574\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-4.jpg 744w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-16-Timer-Trigger-4-300x101.jpg 300w\" sizes=\"auto, (max-width: 744px) 100vw, 744px\" \/><\/a><\/p>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<br \/>\nSonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu i\u00e7eri\u011fimizde Azure Functions yaz\u0131 serisinin onalt\u0131nc\u0131 makalesi olan Timer Trigger konusunu inceleyece\u011fiz. Timer Trigger Nedir? Timer Trigger, belirli periyotlarda yap\u0131lacak i\u015flemler neticesinde kullan\u0131lan fonksiyon \u00e7e\u015fididir. \u00d6rne\u011fin; uygulaman\u0131zda ki \u00fcyelere periyodik olarak haftal\u0131k&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":17011,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3121],"tags":[3694,3661,3749,3750,3751,3754,3748,3747,3752,3753,3693],"class_list":["post-17496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","tag-azure-function-timer-trigger","tag-azure-functions","tag-cron","tag-cron-expression","tag-cron-nedir","tag-microsoft-azure-webjobs-extensions-storage","tag-ncron","tag-ncron-expression","tag-ncron-nedir","tag-output-blob-binding","tag-timer-trigger"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/17496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=17496"}],"version-history":[{"count":72,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/17496\/revisions"}],"predecessor-version":[{"id":17576,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/17496\/revisions\/17576"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/17011"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=17496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=17496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=17496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}