{"id":1667,"date":"2019-02-19T00:00:00","date_gmt":"2019-02-19T08:00:00","guid":{"rendered":""},"modified":"2025-06-17T01:45:35","modified_gmt":"2025-06-17T08:45:35","slug":"more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/","title":{"rendered":"More reliable event-driven applications in Azure with an updated Event Grid"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">We have been incredibly excited to be a part of the rise of event-driven programming as a core building block for cloud application architecture. By making the following features generally available, we want to enable you to build more sophisticated, performant, and stable event-driven applications in Azure. We are proud to announce the <strong>general availability<\/strong> of the following set of features, previously in preview:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Dead lettering<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Retry policies<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Storage Queues as a destination<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Hybrid Connections as a destination<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Manual Validation Handshake<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">To take advantage of the GA status of the features, make sure you are using our 2019-01-01 API and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/event-grid\/sdk-overview\" target=\"_blank\" rel=\"noopener\">SDKs<\/a>. If you are using the Azure portal or CloudShell, you\u2019re already good to go. If you are using CLI or PowerShell, make sure you have versions 2.0.56 or later for CLI and 1.1.0 for PowerShell.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dead-lettering\">Dead lettering<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dead lettering gives you an at-least-once guarantee that you will receive your events in mission critical systems. <a href=\"https:\/\/docs.microsoft.com\/azure\/event-grid\/manage-event-delivery\" target=\"_blank\" rel=\"noopener\">With a dead letter destination set<\/a>, you will never lose a message even if your event handler is down, your authorization fails, or a bug in your endpoint is overwhelmed with volume.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dead lettering allows you to connect each event subscription to a storage account, so that if your primary event pipeline fails, Azure Event Grid can deliver those events to a storage account for consumption at any time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"retry-policies\">Retry policies<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Retry policies make your primary eventing pipeline more robust in the event of ephemeral failures. While dead lettering provides you with a backstop in case there are long lasting failures in your system, it is more common to see only temporary outages in distributed systems.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.microsoft.com\/azure\/event-grid\/delivery-and-retry\" target=\"_blank\" rel=\"noopener\">Configuring retry policies<\/a> allows you to set how many times, or for how long you would like an event to be retried before it is dead lettered or dropped. Sometimes, you may want to keep retrying an event as long as possible regardless of how late it is. Other times, once an event is stale, it has no value, so you want it dropped immediately. Retry policies let you choose the delivery schedule that works best for you.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"storage-queues-as-a-destination\">Storage Queues as a destination<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Event Grid can directly push your events to an Azure Storage Queue. <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/event-grid\/custom-event-to-queue-storage\" target=\"_blank\" rel=\"noopener\">Queues can be a powerful event handler<\/a> when you need to buffer your ingress of events to your event handler to allow it to properly scale up. Similarly, if your event handler can\u2019t guarantee uptime, putting a storage queue in between allows you to hold those events and process them when your event handler is ready.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Storage queues also have virtual network (VNet) integration which allows for VNet injection of Event Grid events. If you need to connect an event source to an event handler that is within a VNet, you can tell Event Grid to publish to a storage queue and then consume events in your VNet via your queue.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"hybrid-connections-as-a-destination\">Hybrid connections as a destination<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to build and debug locally while connected to cloud resources for an event, have an on-premises service that can\u2019t expose an HTTP endpoint, or need to work from behind a locked down firewall, <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/event-grid\/custom-event-to-hybrid-connection\" target=\"_blank\" rel=\"noopener\">Hybrid connections allows you to connect those resources to Event Grid<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hybrid connections as an event handler gives you an HTTP endpoint to connect Event Grid to. It also gives you option to make an outbound WebSocket connection from your local resource to the same hybrid connection instance. The hybrid connection will then relay your incoming events from event grid to your on-premises resource.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"manual-validation-handshake\">Manual validation handshake<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Not all event handlers can customize their HTTP response in order to provide endpoint proof of ownership. The manual validation handshake makes it as easy as copy paste to prove you are an authorized owner of an endpoint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When you register an Event Grid subscription, a validation event will be sent to the endpoint with a validation code. You are still able to respond to the validation event by echoing back the validation code, however, if that is not convenient, you can now <a href=\"https:\/\/docs.microsoft.com\/azure\/event-grid\/security-authentication\" target=\"_blank\" rel=\"noopener\">copy and paste the validation URL included<\/a> from the event to any browser to validate the endpoint. Doing a GET on the endpoint validates proof of ownership.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We hope you <em>react<\/em> well to this news.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Azure Event Grid team<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We have been incredibly excited to be a part of the rise of event-driven programming as a core building block for cloud application architecture. By making the following features generally available, we want to enable you to build more sophisticated, performant, and stable event-driven applications in Azure.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1485],"tags":[],"audience":[3054,3055,3056],"content-type":[1465],"product":[1588],"tech-community":[],"topic":[],"coauthors":[97],"class_list":["post-1667","post","type-post","status-publish","format-standard","hentry","category-internet-of-things","audience-business-decision-makers","audience-developers","audience-it-implementors","content-type-announcements","product-event-grid","review-flag-1-1680286581-825","review-flag-2-1680286581-601","review-flag-ga-1680286584-289","review-flag-gener-1680286584-335","review-flag-never-1680286580-606"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>More reliable event-driven applications in Azure with an updated Event Grid | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"We have been incredibly excited to be a part of the rise of event-driven programming as a core building block for cloud application architecture. By making the following features generally available, we want to enable you to build more sophisticated, performant, and stable event-driven applications in Azure.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"More reliable event-driven applications in Azure with an updated Event Grid | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"We have been incredibly excited to be a part of the rise of event-driven programming as a core building block for cloud application architecture. By making the following features generally available, we want to enable you to build more sophisticated, performant, and stable event-driven applications in Azure.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2019-02-19T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-17T08:45:35+00:00\" \/>\n<meta name=\"author\" content=\"Microsoft Azure\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Azure\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/\",\"@type\":\"Person\",\"@name\":\"Microsoft Azure\"}],\"headline\":\"More reliable event-driven applications in Azure with an updated Event Grid\",\"datePublished\":\"2019-02-19T08:00:00+00:00\",\"dateModified\":\"2025-06-17T08:45:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/\"},\"wordCount\":721,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"articleSection\":[\"Internet of things\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/\",\"name\":\"More reliable event-driven applications in Azure with an updated Event Grid | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"datePublished\":\"2019-02-19T08:00:00+00:00\",\"dateModified\":\"2025-06-17T08:45:35+00:00\",\"description\":\"We have been incredibly excited to be a part of the rise of event-driven programming as a core building block for cloud application architecture. By making the following features generally available, we want to enable you to build more sophisticated, performant, and stable event-driven applications in Azure.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Internet of things\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/internet-of-things\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"More reliable event-driven applications in Azure with an updated Event Grid\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"More reliable event-driven applications in Azure with an updated Event Grid | Microsoft Azure Blog","description":"We have been incredibly excited to be a part of the rise of event-driven programming as a core building block for cloud application architecture. By making the following features generally available, we want to enable you to build more sophisticated, performant, and stable event-driven applications in Azure.","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:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/","og_locale":"en_US","og_type":"article","og_title":"More reliable event-driven applications in Azure with an updated Event Grid | Microsoft Azure Blog","og_description":"We have been incredibly excited to be a part of the rise of event-driven programming as a core building block for cloud application architecture. By making the following features generally available, we want to enable you to build more sophisticated, performant, and stable event-driven applications in Azure.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2019-02-19T08:00:00+00:00","article_modified_time":"2025-06-17T08:45:35+00:00","author":"Microsoft Azure","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Microsoft Azure","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/","@type":"Person","@name":"Microsoft Azure"}],"headline":"More reliable event-driven applications in Azure with an updated Event Grid","datePublished":"2019-02-19T08:00:00+00:00","dateModified":"2025-06-17T08:45:35+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/"},"wordCount":721,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"articleSection":["Internet of things"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/","name":"More reliable event-driven applications in Azure with an updated Event Grid | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"datePublished":"2019-02-19T08:00:00+00:00","dateModified":"2025-06-17T08:45:35+00:00","description":"We have been incredibly excited to be a part of the rise of event-driven programming as a core building block for cloud application architecture. By making the following features generally available, we want to enable you to build more sophisticated, performant, and stable event-driven applications in Azure.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/more-reliable-event-driven-applications-in-azure-with-an-updated-event-grid\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Internet of things","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/internet-of-things\/"},{"@type":"ListItem","position":3,"name":"More reliable event-driven applications in Azure with an updated Event Grid"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=1667"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1667\/revisions"}],"predecessor-version":[{"id":42030,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1667\/revisions\/42030"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=1667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=1667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=1667"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=1667"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=1667"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=1667"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=1667"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=1667"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=1667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}