{"id":4096,"date":"2017-03-06T00:00:00","date_gmt":"2017-03-06T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview"},"modified":"2024-07-24T09:50:04","modified_gmt":"2024-07-24T16:50:04","slug":"new-azure-storage-javascript-client-library-for-browsers-preview","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/","title":{"rendered":"New Azure Storage JavaScript client library for browsers &#8211; Preview"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Today we are announcing our newest library: <strong>Azure Storage Client Library for JavaScript<\/strong>. The demand for the Azure Storage Client Library for Node.js, as well as your <a href=\"https:\/\/feedback.azure.com\/forums\/217298-storage\/suggestions\/3088117-make-javascript-library-for-blobs-and-tables\">feedback<\/a>, has encouraged us to work on a browser-compatible JavaScript library to enable web development scenarios with Azure Storage. With that, we are now releasing the preview of <a href=\"https:\/\/github.com\/Azure\/azure-storage-node#azure-storage-javascript-client-library-for-browsers\">Azure Storage JavaScript Client Library for Browsers<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"enables-web-development-scenarios\">Enables web development scenarios<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The JavaScript Client Library for Azure Storage enables many web development scenarios using storage services like Blob, Table, Queue, and File, and is compatible with modern browsers. Be it a web-based gaming experience where you store state information in the Table service, uploading photos to a Blob account from a Mobile app, or an entire website backed with dynamic data stored in Azure Storage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As part of this release, we have also reduced the footprint by packaging each of the service APIs in a separate JavaScript file. For instance, a developer who needs access to Blob storage only needs to require the following scripts:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n<script type=\u201djavascript\/text\u201d src=\u201dazure-storage.common.js\u201d\/>\n<script type=\u201djavascript\/text\u201d src=\u201dazure-storage.blob.js\u201d\/>\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"full-service-coverage\">Full service coverage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The new JavaScript Client Library for Browsers supports all the storage features available in the latest REST API version 2016-05-31 since it is built with Browserify using the Azure Storage Client Library for Node.js. All the service features you would find in our Node.js library are supported. You can also use the existing API surface, and the\u00a0<a href=\"https:\/\/azure.github.io\/azure-storage-node\/\">Node.js Reference API documents<\/a>\u00a0to build your app!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Built with Browserify<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Browsers today don\u2019t support the\u00a0<em>require\u00a0<\/em>method, which is essential in every Node.js application. Hence, including a JavaScript written for Node.js won\u2019t work in browsers. One of the popular solutions to this problem is Browserify. The Browserify tool bundles your required dependencies in a single JS file for you to use in web applications. It is as simple as installing Browserify and running\u00a0<em>browserify node.js -o browser.js<\/em>\u00a0and you are set. However, we have already done this for you. Simply download the\u00a0<a href=\"https:\/\/aka.ms\/downloadazurestoragejs\">JavaScript Client Library<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"recommended-development-practices\">Recommended development practices<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We highly recommend use of\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/storage\/storage-dotnet-shared-access-signature-part-1\">SAS tokens<\/a>\u00a0to authenticate with Azure Storage since the JavaScript Client Library will expose the authentication token to the user in the browser. A SAS token with limited scope and time is highly recommended. In an ideal web application it is expected that the backend application will authenticate users when they log on, and will then provide a SAS token to the client for authorizing access to the Storage account. This removes the need to authenticate using an account key. Check out the\u00a0<a href=\"https:\/\/github.com\/Azure-Samples\/functions-node-sas-token\">Azure Function sample<\/a>\u00a0in our Github repository that generates a SAS token upon an HTTP POST request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use of the stream APIs are highly recommended due to the browser sandbox that blocks users from accessing the local filesystem. This makes the stream APIs like\u00a0<em>getBlobToLocalFile<\/em>,\u00a0<em>createBlockBlobFromLocalFile<\/em>\u00a0unusable in browsers. See the samples in the link below that use\u00a0<em>createBlockBlobFromStream<\/em>\u00a0API instead.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sample-usage\">Sample usage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once you have a web app that can generate a limited scope SAS Token, the rest is easy! Download the JavaScript files from the repository on&nbsp;<a href=\"https:\/\/web.archive.org\/web\/20220818030444\/https:\/\/github.com\/Azure\/azure-storage-node\/#azure-storage-javascript-client-library-for-browsers\">Github<\/a>&nbsp;and include in your code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is a simple sample that can upload a blob from a given text:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1 - Insert the following script tags in your HTML code. Make sure the JavaScript files located in the same folder.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n<script src=\"azure-storage.common.js\"><\/script\/>\n<script src=\"azure-storage.blob.js\"><\/script\/>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">2 - Let\u2019s now add a few items to the page to initiate the transfer. Add the following tags inside the BODY tag. Notice that the button calls uploadBlobFromText method when clicked. We will define this method in the next step.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n<input type=\"text\" id=\"text\" name=\"text\" value=\"Hello World!\" \/>\n<button id=\"upload-button\" onclick=\"uploadBlobFromText()\">Upload<\/button>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">3 - So far, we have included the client library and added the HTML code to show the user a text input and a button to initiate the transfer. When the user clicks on the upload button, uploadBlobFromText will be called. Let\u2019s define that now:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n<script>\nfunction uploadBlobFromText() {\n     \/\/ your account and SAS information\n     var sasKey =\"....\";\n     var blobUri = \"https:\/\/<accountname>.blob.core.windows.net\";\n     var blobService = AzureStorage.createBlobServiceWithSas(blobUri, sasKey).withFilter(new AzureStorage.ExponentialRetryPolicyFilter());\n     var text = document.getElementById('text');\n     var btn = document.getElementById(\"upload-button\");\n     blobService.createBlockBlobFromText('mycontainer', 'myblob', text.value,  function(error, result, response){\n         if (error) {\n             alert('Upload filed, open browser console for more detailed info.');\n             console.log(error);\n         } else {\n             alert('Upload successfully!');\n         }\n     });\n}\n<\/script>\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Of course, it is not that common to upload blobs from text. See the following samples for uploading from stream as well as a sample for progress tracking.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/dmrelease.blob.core.windows.net\/azurestoragejssample\/samples\/sample-blob.html\">JavaScript Sample for Blob<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/dmrelease.blob.core.windows.net\/azurestoragejssample\/samples\/sample-queue.html\">JavaScript Sample for Queue<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/dmrelease.blob.core.windows.net\/azurestoragejssample\/samples\/sample-table.html\">JavaScript Sample for Table<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/dmrelease.blob.core.windows.net\/azurestoragejssample\/samples\/sample-file.html\">JavaScript Sample for File<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"share\">Share<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, join our <a href=\"https:\/\/azurestorageslack.azurewebsites.net\/\">Slack channel<\/a> to share with us your scenarios, issues, or anything, really. We\u2019ll be there to help!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Announcing Azure Storage Client Library for JavaScript.<\/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":[1467,1470,1485],"tags":[],"audience":[3057,3055,3053,3056],"content-type":[],"product":[1525,1536],"tech-community":[],"topic":[],"coauthors":[97],"class_list":["post-4096","post","type-post","status-publish","format-standard","hentry","category-compute","category-containers","category-internet-of-things","audience-data-professionals","audience-developers","audience-it-decision-makers","audience-it-implementors","product-azure-blob-storage","product-azure-functions","review-flag-1680286581-295","review-flag-1-1680286581-825","review-flag-2-1680286581-601","review-flag-3-1680286581-173","review-flag-bundl-1680286579-710","review-flag-new-1680286579-546"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>New Azure Storage JavaScript client library for browsers - Preview | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Announcing Azure Storage Client Library for JavaScript\" \/>\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\/new-azure-storage-javascript-client-library-for-browsers-preview\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New Azure Storage JavaScript client library for browsers - Preview | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Announcing Azure Storage Client Library for JavaScript\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/\" \/>\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=\"2017-03-06T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-24T16:50:04+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\/new-azure-storage-javascript-client-library-for-browsers-preview\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/\",\"@type\":\"Person\",\"@name\":\"Microsoft Azure\"}],\"headline\":\"New Azure Storage JavaScript client library for browsers &#8211; Preview\",\"datePublished\":\"2017-03-06T00:00:00+00:00\",\"dateModified\":\"2024-07-24T16:50:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/\"},\"wordCount\":721,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"articleSection\":[\"Compute\",\"Containers\",\"Internet of things\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/\",\"name\":\"New Azure Storage JavaScript client library for browsers - Preview | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"datePublished\":\"2017-03-06T00:00:00+00:00\",\"dateModified\":\"2024-07-24T16:50:04+00:00\",\"description\":\"Announcing Azure Storage Client Library for JavaScript\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compute\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/compute\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"New Azure Storage JavaScript client library for browsers &#8211; Preview\"}]},{\"@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":"New Azure Storage JavaScript client library for browsers - Preview | Microsoft Azure Blog","description":"Announcing Azure Storage Client Library for JavaScript","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\/new-azure-storage-javascript-client-library-for-browsers-preview\/","og_locale":"en_US","og_type":"article","og_title":"New Azure Storage JavaScript client library for browsers - Preview | Microsoft Azure Blog","og_description":"Announcing Azure Storage Client Library for JavaScript","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2017-03-06T00:00:00+00:00","article_modified_time":"2024-07-24T16:50:04+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\/new-azure-storage-javascript-client-library-for-browsers-preview\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/","@type":"Person","@name":"Microsoft Azure"}],"headline":"New Azure Storage JavaScript client library for browsers &#8211; Preview","datePublished":"2017-03-06T00:00:00+00:00","dateModified":"2024-07-24T16:50:04+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/"},"wordCount":721,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"articleSection":["Compute","Containers","Internet of things"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/","name":"New Azure Storage JavaScript client library for browsers - Preview | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"datePublished":"2017-03-06T00:00:00+00:00","dateModified":"2024-07-24T16:50:04+00:00","description":"Announcing Azure Storage Client Library for JavaScript","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/new-azure-storage-javascript-client-library-for-browsers-preview\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Compute","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/compute\/"},{"@type":"ListItem","position":3,"name":"New Azure Storage JavaScript client library for browsers &#8211; Preview"}]},{"@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\/4096","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=4096"}],"version-history":[{"count":0,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/4096\/revisions"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=4096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=4096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=4096"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=4096"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=4096"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=4096"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=4096"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=4096"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=4096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}