{"id":1065,"date":"2020-07-10T17:43:00","date_gmt":"2020-07-10T14:43:00","guid":{"rendered":"https:\/\/posts.dilisim.com\/?p=398"},"modified":"2025-10-20T16:09:43","modified_gmt":"2025-10-20T16:09:43","slug":"apache-airflow-sensor","status":"publish","type":"post","link":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/","title":{"rendered":"Apache Airflow Sensor"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Airflow\u2019da veri ak\u0131\u015flar\u0131m\u0131z\u0131 tasarlarken, \u00e7o\u011fu zaman d\u0131\u015f kaynaktan ald\u0131\u011f\u0131m\u0131z verilere ihtiya\u00e7 duyar\u0131z. Bu veriler veritaban\u0131ndaki bir tablo veya dosya sistemindeki bir dosya gibi \u00e7e\u015fitli kaynaklar olabilir. Task&#8217;lar\u0131m\u0131z\u0131n hata almadan ve d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi i\u00e7in ak\u0131\u015fa ba\u015flamadan \u00f6nce bu verileri sens\u00f6rler sayesinde kontrol edebilir ve haz\u0131r oldu\u011fu anda ak\u0131\u015f\u0131n ba\u015flamas\u0131n\u0131 sa\u011flayabiliriz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00d6rnek<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u2018mytable\u2019 tablosundaki verileri kullanan bir task\u0131m\u0131z oldu\u011funu varsayal\u0131m. Bu tabloya verileri doldurmak bizim kapsam\u0131m\u0131zda olmas\u0131n. Dolay\u0131s\u0131yla \u2018mytable\u2019 tablosunda verilerin haz\u0131r oldu\u011fundan emin olamay\u0131z. E\u011fer \u2018mytable\u2019 tablosunda verilerimiz haz\u0131r de\u011fil ise task\u0131m\u0131z hata alacakt\u0131r veya yanl\u0131\u015f \u00e7al\u0131\u015fakt\u0131r. Bunu engellemek i\u00e7in a\u015fa\u011f\u0131daki gibi bir sens\u00f6r haz\u0131rlayabiliriz.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sensor = SqlSensor(task_id='check_data_is_ready',\n                   dag=dag,\n                   conn_id='my_conn_id',\n                   sql='select * from mytable',\n                   poke_interval=600,\n                   timeout=3600\n                   )<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Her sens\u00f6r\u00fcn kendine \u00f6zg\u00fc \u2018success\u2019 kriteri vard\u0131r. Bunlar\u0131 d\u00f6k\u00fcmanlar\u0131n veya kaynak kodlar\u0131ndan inceleyerek \u00f6\u011frenebilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SqlSens\u00f6r\u2019de sql sonucu d\u00f6nen de\u011fer (0, \u20190\u2019, \u2019\u2019, None) de\u011fil ise success durumuna ge\u00e7ecektir. [1]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Parametreler<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">connection_id : sorgunun ko\u015fulurken kullanaca\u011f\u0131 ba\u011flant\u0131 id\u2019si. Web aray\u00fczde Admin -&gt; Connections sekmesinden tan\u0131mlayabilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sql: Ko\u015fulacak sorgu. Sens\u00f6r\u00fcn ba\u015far\u0131l\u0131 durumuna ge\u00e7ebilmesi i\u00e7in, sorgu sonucu d\u00f6nen datadaki 1. Sat\u0131r 1.sut\u00fcn de\u011ferin (0, \u20190\u2019, \u2019\u2019, None) harici bir de\u011fer olmas\u0131 gerekir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">poke_interval: sql parametresinin ne kadar s\u0131kl\u0131kla ko\u015fulaca\u011f\u0131n\u0131 belirtmek i\u00e7in kullan\u0131l\u0131n\u0131r. Saniye cinsinden bir de\u011fer verilmelidir. \u00d6rne\u011fin 600 ise her 10 dakikada bir sql sorgusu ko\u015fulur, success kritilerlerine uygun de\u011fil ise 600 saniye sonra tekrar eder.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">timeout: Sens\u00f6r\u00fcn ne kadar saniye sonra fail durumuna ge\u00e7ece\u011fini belirtir. Mant\u0131ken poke_intervalden daha b\u00fcy\u00fck bir de\u011fer verilmelidir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sensor \u00e7e\u015fitleri<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">airflow.contrib.sensors.file_sensor<br \/>airflow.contrib.sensors.ftp_sensor<br \/>airflow.contrib.sensors.sftp_sensor<br \/>airflow.contrib.sensors.hdfs_sensor<br \/>airflow.contrib.sensors.python_sensor<br \/>airflow.contrib.sensors.weekday_sensor<br \/>airflow.sensors.hdfs_sensor<br \/>airflow.sensors.hive_partition_sensor<br \/>airflow.sensors.http_sensor<br \/>airflow.sensors.sql_sensor<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yukar\u0131da sensorlerden baz\u0131lar\u0131n\u0131 listeledim. [2][3] Bunun gibi bir\u00e7ok daha haz\u0131r sens\u00f6r\u00fc kullanabilir veya plugins\u2019ler sayesinde kendi sens\u00f6r\u00fcn\u00fcz\u00fc geli\u015ftirip kullanabilirsiniz. [4]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Avantajlar\u0131<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sens\u00f6rlerin sa\u011flad\u0131\u011f\u0131 faydalar\u0131 Operatorlerin retry parametresini kullanarak veya \u00e7e\u015fitli operat\u00f6rlerle de yapabilece\u011fini anlayanlar olmu\u015ftur. Sens\u00f6rleri kullanman\u0131n en b\u00fcy\u00fck avantaj\u0131 kullan\u0131m\u0131 basit olmas\u0131 ve ak\u0131\u015flar\u0131 daha basit, anla\u015f\u0131l\u0131r hale getirmesidir.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-4661 aligncenter\" src=\"https:\/\/bentego.com\/wp-content\/uploads\/2020\/07\/airflow_sensor_dag.png\" alt=\"\" width=\"472\" height=\"406\" \/><\/p>\n\n\n\n\n\n<p class=\"wp-block-paragraph\">Bazen tasklar\u0131m\u0131z cpu, memory gibi \u00e7ok fazla kayna\u011fa ihtiya\u00e7 duyar. Bu gibi tasklarda sens\u00f6r yerine retry mekan\u0131zmas\u0131n\u0131 cpu, memory gibi k\u0131s\u0131tl\u0131 kaynaklar\u0131 \u00e7ok fazla harcamas\u0131na sebep olacakt\u0131r.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Resimde a\u00e7\u0131k\u00e7a g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi, sensor3\u2019\u00fcn haz\u0131r olmamas\u0131ndan dolay\u0131 <em>my_heavy_task<\/em>\u00a0 ba\u015flayamam\u0131\u015ft\u0131r. Sens\u00f6rleri kullanmam\u0131\u015f olsayd\u0131k, bunu tespit edebilmek i\u00e7in <em>my_heavy_task<\/em>\u00a0\u00a0 ta\u015fk\u0131n\u0131n loglar\u0131n\u0131 incelemeden bunu anlamak m\u00fcmk\u00fcn olmayacakt\u0131r.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dezavantajlar\u0131<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u015eu ana kadar g\u00f6z\u00fcme \u00e7arpan tek dezavantaj\u0131 versiyon 1.10.10 ve \u00f6ncesinde, sens\u00f6r instance\u2019lar\u0131 timeout s\u00fcresini doldurana kadar <em>running<\/em> state\u2019inde kalmaya devam ediyor. [5] \u00d6rnekte poke_interval=600 ve timeout=3600 vermi\u015ftik. Burada sens\u00f6r\u00fcm\u00fcz her 10 dakikada bir sorgu atacak olmas\u0131na ra\u011fmen e\u011fer success statine ge\u00e7emez ise 1 saat boyunca running state\u2019\u0131nde kalacak. Bu da cpu&#8217;nun gereksiz kullan\u0131lmas\u0131na sebep olacakt\u0131r.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sonu\u00e7<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sensorlerin temel amac\u0131 ak\u0131\u015f\u0131n\u0131z i\u00e7in gerekli t\u00fcm metaryerlerin haz\u0131r oldu\u011fundan emin olmak. Bu sayede daha hatas\u0131z, tam zaman\u0131nda \u00e7al\u0131\u015fan ak\u0131\u015flar tasarlamam\u0131za yard\u0131mc\u0131 olurlar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kaynak\u00e7a<\/h2>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">[1] <a href=\"https:\/\/airflow.apache.org\/docs\/stable\/_modules\/airflow\/sensors\/sql_sensor.html\">https:\/\/airflow.apache.org\/docs\/stable\/_modules\/airflow\/sensors\/sql_sensor.html<\/a><br \/>[2] <a href=\"https:\/\/airflow.apache.org\/docs\/stable\/_api\/airflow\/sensors\/index.html?highlight=sensor#module-airflow.sensors\">https:\/\/airflow.apache.org\/docs\/stable\/_api\/airflow\/sensors\/index.html?highlight=sensor#module-airflow.sensors<\/a><br \/>[3] <a href=\"https:\/\/airflow.apache.org\/docs\/stable\/_api\/airflow\/contrib\/sensors\/index.html?highlight=sensor#module-airflow.contrib.sensors\">https:\/\/airflow.apache.org\/docs\/stable\/_api\/airflow\/contrib\/sensors\/index.html?highlight=sensor#module-airflow.contrib.sensors<\/a><br \/>[4] <a href=\"https:\/\/airflow.apache.org\/docs\/stable\/plugins.html\">https:\/\/airflow.apache.org\/docs\/stable\/plugins.html<\/a><br \/>[5] <a href=\"https:\/\/cwiki.apache.org\/confluence\/display\/AIRFLOW\/AIP-17+Airflow+sensor+optimization\">https:\/\/cwiki.apache.org\/confluence\/display\/AIRFLOW\/AIP-17+Airflow+sensor+optimization<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Airflow\u2019da veri ak\u0131\u015flar\u0131m\u0131z\u0131 tasarlarken, \u00e7o\u011fu zaman d\u0131\u015f kaynaktan ald\u0131\u011f\u0131m\u0131z verilere ihtiya\u00e7 duyar\u0131z. Bu veriler veritaban\u0131ndaki bir tablo veya dosya sistemindeki bir dosya [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1013,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[6,7,8,10,11,12,13],"class_list":["post-1065","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-airflow","tag-apache","tag-apache-airflow","tag-bigdata","tag-dilisim","tag-sensor","tag-tr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache Airflow Sensor - Bentego<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bentego.com\/en\/apache-airflow-sensor\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache Airflow Sensor - Bentego\" \/>\n<meta property=\"og:description\" content=\"Airflow\u2019da veri ak\u0131\u015flar\u0131m\u0131z\u0131 tasarlarken, \u00e7o\u011fu zaman d\u0131\u015f kaynaktan ald\u0131\u011f\u0131m\u0131z verilere ihtiya\u00e7 duyar\u0131z. Bu veriler veritaban\u0131ndaki bir tablo veya dosya sistemindeki bir dosya [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bentego.com\/en\/apache-airflow-sensor\/\" \/>\n<meta property=\"og:site_name\" content=\"Bentego\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-10T14:43:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-20T16:09:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bentego.com\/wp-content\/uploads\/2025\/06\/Frame-85__.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Bentego\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Bentego\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/\"},\"author\":{\"name\":\"Bentego\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#\\\/schema\\\/person\\\/0348418b7b0cbca83fdd7a899d54821e\"},\"headline\":\"Apache Airflow Sensor\",\"datePublished\":\"2020-07-10T14:43:00+00:00\",\"dateModified\":\"2025-10-20T16:09:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/\"},\"wordCount\":698,\"publisher\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bentego.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Frame-85__.png\",\"keywords\":[\"airflow\",\"apache\",\"apache airflow\",\"bigdata\",\"dili\u015fim\",\"sens\u00f6r\",\"TR\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/\",\"url\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/\",\"name\":\"Apache Airflow Sensor - Bentego\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bentego.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Frame-85__.png\",\"datePublished\":\"2020-07-10T14:43:00+00:00\",\"dateModified\":\"2025-10-20T16:09:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bentego.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Frame-85__.png\",\"contentUrl\":\"https:\\\/\\\/bentego.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/Frame-85__.png\",\"width\":2400,\"height\":1600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/apache-airflow-sensor\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bentego.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apache Airflow Sensor\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/bentego.com\\\/en\\\/\",\"name\":\"Bentego\",\"description\":\"Turning data into enterprise value\",\"publisher\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bentego.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#organization\",\"name\":\"Bentego\",\"url\":\"https:\\\/\\\/bentego.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/bentego.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/logo-bentego.svg\",\"contentUrl\":\"https:\\\/\\\/bentego.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/logo-bentego.svg\",\"width\":433,\"height\":109,\"caption\":\"Bentego\"},\"image\":{\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bentego.com\\\/en\\\/#\\\/schema\\\/person\\\/0348418b7b0cbca83fdd7a899d54821e\",\"name\":\"Bentego\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache Airflow Sensor - Bentego","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/","og_locale":"en_US","og_type":"article","og_title":"Apache Airflow Sensor - Bentego","og_description":"Airflow\u2019da veri ak\u0131\u015flar\u0131m\u0131z\u0131 tasarlarken, \u00e7o\u011fu zaman d\u0131\u015f kaynaktan ald\u0131\u011f\u0131m\u0131z verilere ihtiya\u00e7 duyar\u0131z. Bu veriler veritaban\u0131ndaki bir tablo veya dosya sistemindeki bir dosya [&hellip;]","og_url":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/","og_site_name":"Bentego","article_published_time":"2020-07-10T14:43:00+00:00","article_modified_time":"2025-10-20T16:09:43+00:00","og_image":[{"width":2400,"height":1600,"url":"https:\/\/bentego.com\/wp-content\/uploads\/2025\/06\/Frame-85__.png","type":"image\/png"}],"author":"Bentego","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Bentego","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/#article","isPartOf":{"@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/"},"author":{"name":"Bentego","@id":"https:\/\/bentego.com\/en\/#\/schema\/person\/0348418b7b0cbca83fdd7a899d54821e"},"headline":"Apache Airflow Sensor","datePublished":"2020-07-10T14:43:00+00:00","dateModified":"2025-10-20T16:09:43+00:00","mainEntityOfPage":{"@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/"},"wordCount":698,"publisher":{"@id":"https:\/\/bentego.com\/en\/#organization"},"image":{"@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/#primaryimage"},"thumbnailUrl":"https:\/\/bentego.com\/wp-content\/uploads\/2025\/06\/Frame-85__.png","keywords":["airflow","apache","apache airflow","bigdata","dili\u015fim","sens\u00f6r","TR"],"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/","url":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/","name":"Apache Airflow Sensor - Bentego","isPartOf":{"@id":"https:\/\/bentego.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/#primaryimage"},"image":{"@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/#primaryimage"},"thumbnailUrl":"https:\/\/bentego.com\/wp-content\/uploads\/2025\/06\/Frame-85__.png","datePublished":"2020-07-10T14:43:00+00:00","dateModified":"2025-10-20T16:09:43+00:00","breadcrumb":{"@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bentego.com\/en\/apache-airflow-sensor\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/#primaryimage","url":"https:\/\/bentego.com\/wp-content\/uploads\/2025\/06\/Frame-85__.png","contentUrl":"https:\/\/bentego.com\/wp-content\/uploads\/2025\/06\/Frame-85__.png","width":2400,"height":1600},{"@type":"BreadcrumbList","@id":"https:\/\/bentego.com\/en\/apache-airflow-sensor\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bentego.com\/en\/"},{"@type":"ListItem","position":2,"name":"Apache Airflow Sensor"}]},{"@type":"WebSite","@id":"https:\/\/bentego.com\/en\/#website","url":"https:\/\/bentego.com\/en\/","name":"Bentego","description":"Turning data into enterprise value","publisher":{"@id":"https:\/\/bentego.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bentego.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bentego.com\/en\/#organization","name":"Bentego","url":"https:\/\/bentego.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bentego.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/bentego.com\/wp-content\/uploads\/2025\/05\/logo-bentego.svg","contentUrl":"https:\/\/bentego.com\/wp-content\/uploads\/2025\/05\/logo-bentego.svg","width":433,"height":109,"caption":"Bentego"},"image":{"@id":"https:\/\/bentego.com\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/bentego.com\/en\/#\/schema\/person\/0348418b7b0cbca83fdd7a899d54821e","name":"Bentego"}]}},"_links":{"self":[{"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/posts\/1065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/comments?post=1065"}],"version-history":[{"count":2,"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/posts\/1065\/revisions"}],"predecessor-version":[{"id":5504,"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/posts\/1065\/revisions\/5504"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/media\/1013"}],"wp:attachment":[{"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/media?parent=1065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/categories?post=1065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bentego.com\/en\/wp-json\/wp\/v2\/tags?post=1065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}