﻿
{"id":17234,"date":"2020-08-06T22:28:51","date_gmt":"2020-08-06T22:28:51","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=17234"},"modified":"2020-08-06T22:28:51","modified_gmt":"2020-08-06T22:28:51","slug":"azure-functions-serisi-8-azure-function-dosya-yapisi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/azure-functions-serisi-8-azure-function-dosya-yapisi\/","title":{"rendered":"Azure Functions Serisi #8 &#8211; Azure Function Dosya Yap\u0131s\u0131"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p><a href=\"https:\/\/www.gencayyildiz.com\/blog\/azure-functions-yazi-serisi\/\" rel=\"noopener noreferrer\" target=\"_blank\">Azure Functions Yaz\u0131 Serisi<\/a>nde \u015fu ana kadar inceledi\u011fimiz i\u00e7eriklerden art\u0131k s\u0131ra bir Azure Function projesindeki dosya yap\u0131lanmas\u0131n\u0131 ele alarak anatomik olarak incelemeye geldi\u011fi kanaatindeyim. O halde buyrun beraber Azure Function dosya yap\u0131lanmas\u0131na k\u0131saca g\u00f6z atal\u0131m.<\/p>\n<p>\u00d6ncelikle Visual Studio edit\u00f6r\u00fc \u00fczerinden bir Azure Function projesi olu\u015fturunuz. En nihayetinde ele al\u0131nacak konu esas\u0131nda t\u00fcm Azure Function Trigger t\u00fcrleri i\u00e7in ge\u00e7erli olaca\u011f\u0131ndan dolay\u0131 olu\u015fturulacak function&#8217;\u0131n trigger t\u00fcr\u00fcn\u00fc \u015fimdilik Http Trigger olarak se\u00e7ebilirsiniz.<\/p>\n<h3>S\u0131n\u0131rs\u0131z Function Class Olu\u015fturma<\/h3>\n<p>Bir Azure Function App i\u00e7erisine istedi\u011finiz kadar trigger class&#8217;\u0131 ekleyebilirsiniz. Bunun i\u00e7in projeye sa\u011f t\u0131klayarak &#8216;Add&#8217; -> &#8216;New Azure Function&#8230;&#8217; kombinasyonunu takip edebilirsiniz.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131.jpg\" alt=\"Azure Functions Serisi #8 - Azure Function Dosya Yap\u0131s\u0131\" width=\"467\" height=\"293\" class=\"aligncenter size-full wp-image-17241\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131.jpg 467w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-300x188.jpg 300w\" sizes=\"auto, (max-width: 467px) 100vw, 467px\" \/><\/a><br \/>\n\u0130lgili sekme se\u00e7ildikten ve eklenecek olan function&#8217;\u0131n trigger t\u00fcr\u00fc belirlendikten sonra kod dosyas\u0131n\u0131 olu\u015fturmu\u015f olacaks\u0131n\u0131z.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-1.jpg\" alt=\"Azure Functions Serisi #8 - Azure Function Dosya Yap\u0131s\u0131\" width=\"200\" height=\"167\" class=\"aligncenter size-full wp-image-17243\" \/><\/a><br \/>\nYukar\u0131daki ekran al\u0131nt\u0131s\u0131ndan da anlayaca\u011f\u0131n\u0131z \u00fczere bizler \u00fc\u00e7 adet function class&#8217;\u0131 eklemi\u015f bulunmaktay\u0131z. Uygulamay\u0131 derleyip, \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda t\u00fcm bu function&#8217;lara kar\u015f\u0131l\u0131k bir endpoint verildi\u011fini g\u00f6receksiniz.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-2.jpg\" alt=\"Azure Functions Serisi #8 - Azure Function Dosya Yap\u0131s\u0131\" width=\"480\" height=\"102\" class=\"aligncenter size-full wp-image-17244\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-2.jpg 480w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-2-300x64.jpg 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<p>Ayr\u0131ca bu \u015fekilde ayr\u0131 ayr\u0131 class dosyalar\u0131 olu\u015fturmaktansa tek bir class i\u00e7erisinde birden fazla da function tan\u0131mlayabilirsiniz.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-3.jpg\" alt=\"Azure Functions Serisi #8 - Azure Function Dosya Yap\u0131s\u0131\" width=\"1223\" height=\"264\" class=\"aligncenter size-full wp-image-17248\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-3.jpg 1223w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-3-300x65.jpg 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-3-1024x221.jpg 1024w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-3-768x166.jpg 768w\" sizes=\"auto, (max-width: 1223px) 100vw, 1223px\" \/><\/a><br \/>\nTabi ki de uygulamay\u0131 aya\u011fa kald\u0131rd\u0131\u011f\u0131n\u0131zda t\u00fcm metotlara kar\u015f\u0131l\u0131k yine bir endpoint verildi\u011fini g\u00f6receksiniz.<br \/>\n<a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-4.jpg\" alt=\"Azure Functions Serisi #8 - Azure Function Dosya Yap\u0131s\u0131\" width=\"472\" height=\"120\" class=\"aligncenter size-full wp-image-17249\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-4.jpg 472w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2020\/08\/Azure-Functions-Serisi-8-Azure-Function-Dosya-Yap\u0131s\u0131-4-300x76.jpg 300w\" sizes=\"auto, (max-width: 472px) 100vw, 472px\" \/><\/a><\/p>\n<h3>host.json Dosyas\u0131 Nedir?<\/h3>\n<p>Runtime ile ilgili bilgilerin tutuldu\u011fu bir dosyad\u0131r. Publish edildi\u011finde cloud&#8217;a buradaki bilgiler g\u00f6nderilir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n{\r\n    &quot;version&quot;: &quot;2.0&quot;,\r\n    &quot;logging&quot;: {\r\n        &quot;applicationInsights&quot;: {\r\n            &quot;samplingExcludedTypes&quot;: &quot;Request&quot;,\r\n            &quot;samplingSettings&quot;: {\r\n                &quot;isEnabled&quot;: true\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<h3>local.settings.json Dosyas\u0131 Nedir?<\/h3>\n<p>Asp.NET Core uygulamalar\u0131ndaki &#8216;appsettings.json&#8217; dosyas\u0131n\u0131n Azure Function&#8217;da ki kar\u015f\u0131l\u0131\u011f\u0131d\u0131r. Uygulaman\u0131n local&#8217;de kullanaca\u011f\u0131 verileri tan\u0131mlad\u0131\u011f\u0131m\u0131z bir json dosyas\u0131d\u0131r. Local&#8217;de kullan\u0131lacak veriler i\u00e7in tasarland\u0131\u011f\u0131ndan dolay\u0131 local&#8217;e \u00f6zg\u00fcd\u00fcr ve bundan dolay\u0131 publish neticesinde cloud&#8217;a g\u00f6nderilmeyecektir. \u0130\u00e7eri\u011fine g\u00f6z atarsak e\u011fer;<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n{\r\n    &quot;IsEncrypted&quot;: false,\r\n    &quot;Values&quot;: {\r\n        &quot;AzureWebJobsStorage&quot;: &quot;UseDevelopmentStorage=true&quot;,\r\n        &quot;FUNCTIONS_WORKER_RUNTIME&quot;: &quot;dotnet&quot;\r\n    }\r\n}\r\n<\/pre>\n<p>\u015feklinde tasarlanm\u0131\u015ft\u0131r. Burada &#8216;AzureWebJobsStorage&#8217; alan\u0131na odaklanman\u0131z\u0131 istiyorum. Kaleme ald\u0131\u011f\u0131m\u0131z Azure Functions yaz\u0131lar\u0131 boyunca function&#8217;lar\u0131n esas\u0131nda herhangi bir storage&#8217;a ba\u011fl\u0131 bir \u015fekilde kullan\u0131lmas\u0131n\u0131n zaruri oldu\u011fundan bahsetmi\u015ftik. \u0130\u015fte bu alanda bu function uygulamas\u0131n\u0131n hangi storage&#8217;a ba\u011fl\u0131 oldu\u011funu bildiriyoruz. &#8216;UseDevelopmentStorage=true&#8217; de\u011feri local&#8217;da ki storage&#8217;a kar\u015f\u0131l\u0131k gelmektedir. Ayriyetten &#8216;FUNCTIONS_WORKER_RUNTIME&#8217; alan\u0131na bakarsan\u0131z e\u011fer runtime olarak &#8216;dotnet&#8217; ortam\u0131nda \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131z\u0131 ifade etmektedir. &#8216;local.settings.json&#8217; dosyas\u0131ndaki verilerin cloud ortama ta\u015f\u0131nabilmesi i\u00e7in portal \u00fczerinden ekstra i\u015flemler yapmam\u0131z gerekmektedir. Bunu yaz\u0131 dizimizin devam s\u00fcrecinde uygun noktada izah edece\u011fimden \u015f\u00fcpheniz olmas\u0131n. Nihayetinde, niyet etti\u011fimiz bir konu \u00fczerinde a&#8217;dan z&#8217;ye do\u011fru i\u00e7erik s\u0131ralamas\u0131yla bir bilgi aktar\u0131m \u00e7abas\u0131nda oldu\u011fumuzu g\u00f6r\u00fcyorsunuz. Bunun kar\u015f\u0131l\u0131\u011f\u0131n\u0131 yaz\u0131 dizisini sab\u0131r ve sebatla okuyarak\/okumaya devam ederek vermenizi temenni ediyorum&#8230;<\/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, Azure Functions Yaz\u0131 Serisinde \u015fu ana kadar inceledi\u011fimiz i\u00e7eriklerden art\u0131k s\u0131ra bir Azure Function projesindeki dosya yap\u0131lanmas\u0131n\u0131 ele alarak anatomik olarak incelemeye geldi\u011fi kanaatindeyim. O halde buyrun beraber Azure Function dosya yap\u0131lanmas\u0131na k\u0131saca&#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":[3686,3711,3714,3712,3713],"class_list":["post-17234","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","tag-azure-function","tag-azure-function-dosya-yapisi","tag-azurewebjobsstorage","tag-host-json","tag-local-settings-json"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/17234","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=17234"}],"version-history":[{"count":15,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/17234\/revisions"}],"predecessor-version":[{"id":17254,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/17234\/revisions\/17254"}],"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=17234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=17234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=17234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}