{"id":9197,"date":"2024-12-03T09:00:35","date_gmt":"2024-12-03T17:00:35","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=9197"},"modified":"2024-12-03T12:19:13","modified_gmt":"2024-12-03T20:19:13","slug":"microsoft-fabric-api-for-graphql-for-azure-cosmos-db-mirroring","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/microsoft-fabric-api-for-graphql-for-azure-cosmos-db-mirroring\/","title":{"rendered":"Microsoft Fabric API for GraphQL\u2122 for Azure Cosmos DB Mirroring"},"content":{"rendered":"<p><span data-contrast=\"auto\">The Microsoft Fabric API for GraphQL\u2122 provides a data access layer that enables you to query multiple data sources quickly and efficiently using a widely adopted and familiar API technology. This API abstracts the specifics of backend data sources, allowing you to focus on your application&#8217;s logic and deliver all the data a client needs in a single call.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\"> Microsoft Fabric&#8217;s Mirroring enables you to seamlessly integrate your existing Azure Cosmos DB data with the rest of your data in Microsoft Fabric, eliminating the need for ETL. You can replicate your Azure Cosmos DB data continuously into OneLake in near real-time without affecting the performance of your transactional workloads. Click <\/span><a href=\"https:\/\/learn.microsoft.com\/fabric\/database\/mirrored-database\/azure-cosmos-db\"><span data-contrast=\"none\">here<\/span><\/a><span data-contrast=\"auto\"> for more information. This blog post shows you how to integrate these two technologies and build near real-time analytical applications.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Use Cases Between GraphQL and Azure Cosmos DB in Microsoft Fabric<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\"> Integrating the Microsoft Fabric API for GraphQL\u2122 with mirrored Azure Cosmos DB data empowers developers to build robust real-time analytical applications. GraphQL enables efficient querying by allowing developers to retrieve only the required data from multiple sources, including mirrored data in OneLake, while abstracting backend complexities. This streamlined approach is perfect for applications demanding up-to-date insights, such as live dashboards, analytics platforms, and interactive user interfaces. By mirroring Azure Cosmos DB data into Microsoft Fabric, the system ensures near real-time synchronization, keeping data current without affecting transactional workload performance. This synergy lets developers concentrate on creating responsive, scalable applications that deliver actionable insights and seamless user experiences.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<h2><span data-contrast=\"none\">How to mirror your Azure Cosmos DB data into Microsoft Fabric<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">To mirror a database, it should already be provisioned in Azure, and continuous backup on the account is a prerequisite. Each database can be mirrored individually. And you can mirror the same database multiple times within the same workspace.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To start mirroring your Azure Cosmos DB database into Microsoft Fabric, navigate to the Fabric portal, open an existing workspace or create a new one, select <\/span><b><span data-contrast=\"auto\">Create<\/span><\/b><span data-contrast=\"auto\">, locate the <\/span><b><span data-contrast=\"auto\">Data Warehouse<\/span><\/b><span data-contrast=\"auto\"> section, and then select <\/span><b><span data-contrast=\"auto\">Mirrored Azure Cosmos DB<\/span><\/b> <b><span data-contrast=\"auto\">(preview)<\/span><\/b><span data-contrast=\"auto\">. For more details, click <\/span><a href=\"https:\/\/learn.microsoft.com\/fabric\/database\/mirrored-database\/azure-cosmos-db-tutorial#create-a-mirrored-database\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">here<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">How to query your mirrored data with GraphQL<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><span data-contrast=\"auto\">Your Azure Cosmos DB data is mirrored in the open-source delta format and automatically made available to all analytical engines on Fabric through a SQL Analytics Endpoint.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><span data-contrast=\"auto\">To connect your mirrored Azure Cosmos DB data to the Microsoft Fabric API for GraphQL\u2122, you have two main options. The first is to use the SQL Analytics Endpoint provided by Microsoft Fabric for the mirrored database. This endpoint allows you to execute SQL queries against your mirrored data in OneLake. By integrating this endpoint with your GraphQL queries and mutations, you can directly interact with the mirrored data using familiar SQL syntax within your GraphQL APIs, enabling efficient data retrieval and manipulation.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><span data-contrast=\"auto\">The second option involves attaching the mirrored database to a Fabric Warehouse. By doing this, you integrate your Azure Cosmos DB data into the data warehousing environment of Microsoft Fabric. Your GraphQL queries and mutations can then interact with the warehouse data, providing a seamless way to access and analyze large volumes of data in near real-time.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Both methods enable you to efficiently connect and query your mirrored Cosmos DB data through GraphQL. This allows you to choose the approach that best fits your application&#8217;s architecture and performance requirements, facilitating the development of responsive and scalable applications.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For more information on how to query mirrored Cosmos DB data in Fabric, please visit <\/span><a href=\"https:\/\/learn.microsoft.com\/fabric\/data-warehouse\/query-warehouse\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Query the SQL analytics endpoint or Warehouse in Microsoft Fabric<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Nested Data<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">A common issue with mirrored data in Fabric is that JSON data gets replicated as strings. This is less than ideal, since applications expect properly formatted JSON for processing. To address this, you use views and expose the nested data as columns.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For this, we need to use the <\/span><a href=\"https:\/\/learn.microsoft.com\/sql\/t-sql\/functions\/openjson-transact-sql?view=sql-server-ver16\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">OPENJSON<\/span><\/a><span data-contrast=\"auto\"> function and the <\/span><a href=\"https:\/\/learn.microsoft.com\/sql\/t-sql\/queries\/from-transact-sql?view=sql-server-ver16#left_table_source--cross--outer--apply-right_table_source\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">CROSS APPLY<\/span><\/a><span data-contrast=\"auto\"> operator in the view definition.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Here\u2019s an example of a view that flattens mirrored JSON data into columns:\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><figure id=\"attachment_9199\" aria-labelledby=\"figcaption_attachment_9199\" class=\"wp-caption alignnone\" ><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150725.png\"><img decoding=\"async\" class=\"size-full wp-image-9199\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150725.png\" alt=\"Nested data view\" width=\"1745\" height=\"428\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150725.png 1745w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150725-300x74.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150725-1024x251.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150725-768x188.png 768w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150725-1536x377.png 1536w\" sizes=\"(max-width: 1745px) 100vw, 1745px\" \/><\/a><figcaption id=\"figcaption_attachment_9199\" class=\"wp-caption-text\">This view shows how to read nested data<\/figcaption><\/figure><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">How this is used from within an application<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><span data-contrast=\"auto\">Attaching the SQL Analytics endpoint or Warehouse to an API for GraphQL item, and choosing the vConsolidatedIoTData view in the object picker, we can very quickly craft a GraphQL request that returns the data that was formatted as columns by the view:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><figure id=\"attachment_9200\" aria-labelledby=\"figcaption_attachment_9200\" class=\"wp-caption alignnone\" ><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150816.png\"><img decoding=\"async\" class=\"size-full wp-image-9200\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150816.png\" alt=\"GQL sample\" width=\"828\" height=\"1144\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150816.png 828w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150816-217x300.png 217w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150816-741x1024.png 741w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150816-768x1061.png 768w\" sizes=\"(max-width: 828px) 100vw, 828px\" \/><\/a><figcaption id=\"figcaption_attachment_9200\" class=\"wp-caption-text\">GQL sample<\/figcaption><\/figure><\/p>\n<p><span data-contrast=\"auto\">This request can now be used directly in your application, and GraphQL will return correctly formatted JSON back to the requesting client application.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">API for GraphQL helps you create code for your application quickly and simply, with the <\/span><a href=\"https:\/\/learn.microsoft.com\/fabric\/data-engineering\/api-graphql-editor#generate-code\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Generate<\/span><\/a><span data-contrast=\"auto\"> code functionality in the editor. Simply click on the Generate code button on your editor, and pick from a list of languages to use in your app.\u00a0<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><figure id=\"attachment_9201\" aria-labelledby=\"figcaption_attachment_9201\" class=\"wp-caption alignnone\" ><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150832.png\"><img decoding=\"async\" class=\"size-full wp-image-9201\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150832.png\" alt=\"Python sample\" width=\"1239\" height=\"972\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150832.png 1239w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150832-300x235.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150832-1024x803.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2024\/11\/Screenshot-2024-11-26-150832-768x602.png 768w\" sizes=\"(max-width: 1239px) 100vw, 1239px\" \/><\/a><figcaption id=\"figcaption_attachment_9201\" class=\"wp-caption-text\">Python sample<\/figcaption><\/figure><\/p>\n<p><span data-contrast=\"auto\">For more information on how to leverage Fabric API for GraphQL in your applications, please visit <\/span><a href=\"https:\/\/learn.microsoft.com\/fabric\/data-engineering\/connect-apps-api-graphql\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Connect applications to Fabric API for GraphQL<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Conclusion<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><span data-contrast=\"auto\">In conclusion, integrating Microsoft Fabric API for GraphQL\u2122 with mirrored Azure Cosmos DB data offers a robust solution for building near real-time analytical applications. By harnessing GraphQL&#8217;s efficient querying capabilities and the seamless data integration provided by Microsoft Fabric, developers can create responsive and scalable applications with ease. Whether you choose to connect through the SQL Analytics Endpoint or attach the mirrored database to a Fabric Warehouse, this approach enables efficient access to up-to-date data, empowering you to deliver rich insights and exceptional user experiences.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">More Resources<\/span><span data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335559738&quot;:160,&quot;335559739&quot;:80}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Here are some more resources that you may find interesting:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/learn.microsoft.com\/fabric\/data-engineering\/api-graphql-overview\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">API for GraphQL Overview and Documentation<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/learn.microsoft.com\/fabric\/database\/mirrored-database\/azure-cosmos-db\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Mirroring Azure Cosmos DB (Preview)<\/span><\/a><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<h2><span data-ccp-props=\"{}\">\u00a0<\/span><b><span data-contrast=\"none\">Leave a review<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335557856&quot;:2039583,&quot;335559738&quot;:960,&quot;335559739&quot;:360}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">Tell us about your Azure Cosmos DB experience! Leave a review on PeerSpot and we\u2019ll gift you $50. <\/span><a href=\"https:\/\/peerspotdotcom.my.site.com\/proReviews\/?SalesOpportunityProduct=00kPy000004TKXJIA4&amp;productPeerspotNumber=30881&amp;CalendlyAccount=peerspot&amp;CalendlyFormLink=peerspot-product-reviews-ps-gc-vi-sf-50&amp;giftCard=50\"><span data-contrast=\"none\">Get started here<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:2039583,&quot;335559738&quot;:0,&quot;335559739&quot;:360,&quot;335559740&quot;:360}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><b><span data-contrast=\"none\">About Azure Cosmos DB<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;335557856&quot;:2039583,&quot;335559738&quot;:960,&quot;335559739&quot;:360}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">Azure Cosmos DB is a fully managed and serverless NoSQL and vector database for modern app development, including AI applications. With its SLA-backed speed and availability as well as instant dynamic scalability, it is ideal for real-time NoSQL and MongoDB applications that require high performance and distributed computing over massive volumes of NoSQL and vector data.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:2039583,&quot;335559738&quot;:0,&quot;335559739&quot;:360,&quot;335559740&quot;:360}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/cosmos.azure.com\/try\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">Try Azure Cosmos DB for free here.<\/span><\/a><span data-contrast=\"none\"> To stay in the loop on Azure Cosmos DB updates, follow us on <\/span><a href=\"https:\/\/twitter.com\/AzureCosmosDB\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">X<\/span><\/a><span data-contrast=\"none\">, <\/span><a href=\"https:\/\/aka.ms\/AzureCosmosDBYouTube\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">YouTube<\/span><\/a><span data-contrast=\"none\">, and <\/span><a href=\"https:\/\/www.linkedin.com\/company\/azure-cosmos-db\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">LinkedIn<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335557856&quot;:2039583,&quot;335559738&quot;:0,&quot;335559739&quot;:360,&quot;335559740&quot;:360}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Microsoft Fabric API for GraphQL\u2122 provides a data access layer that enables you to query multiple data sources quickly and efficiently using a widely adopted and familiar API technology. This API abstracts the specifics of backend data sources, allowing you to focus on your application&#8217;s logic and deliver all the data a client needs [&hellip;]<\/p>\n","protected":false},"author":21894,"featured_media":9200,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14],"tags":[],"class_list":["post-9197","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-core-sql-api"],"acf":[],"blog_post_summary":"<p>The Microsoft Fabric API for GraphQL\u2122 provides a data access layer that enables you to query multiple data sources quickly and efficiently using a widely adopted and familiar API technology. This API abstracts the specifics of backend data sources, allowing you to focus on your application&#8217;s logic and deliver all the data a client needs [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/9197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/users\/21894"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=9197"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/9197\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/9200"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=9197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=9197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=9197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}