{"id":672,"date":"2020-01-09T16:29:23","date_gmt":"2020-01-10T00:29:23","guid":{"rendered":"http:\/\/blog.nillsf.com\/?p=672"},"modified":"2020-01-09T16:29:55","modified_gmt":"2020-01-10T00:29:55","slug":"giving-azure-data-share-a-spin","status":"publish","type":"post","link":"https:\/\/blog.nillsf.com\/index.php\/2020\/01\/09\/giving-azure-data-share-a-spin\/","title":{"rendered":"Giving Azure Data Share a spin"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Before the holidays, I blogged about <a href=\"https:\/\/blog.nillsf.com\/index.php\/2019\/12\/20\/sharing-blob-storage-with-azure-ad-b2b-guests\/\">sharing blob storage data with AAD B2B guests<\/a>.  Peter Demeyere mentioned to me on LinkedIn that he likes to use Azure Data share to share blob data, as it has some more tracking data built in. And funnily enough, during my long run this weekend, I listened to an Azure podcast about Azure data share, so why not give it a spin?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is Azure Data Share?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Azure Data Share is a service that enables you to easily share data in Azure and track get greater control over your data sharing relationship. The service was <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/announcing-preview-of-azure-data-share\/\">announced in preview<\/a> in July 2019 and <a href=\"https:\/\/azure.microsoft.com\/en-us\/updates\/now-available-azure-data-share\/\">went GA<\/a> in November 2019 (must be close to record pace). Azure Data Share doesn&#8217;t only support blob and ADLS, but also SQL DBs and Azure Data Explorer (in preview)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For now, when you use Azure Data Share, a snapshot of the source data will be taken. This means that the moment you accept a data share invite, you must provide it with a target storage account and you&#8217;ll create a copy of your data in your own environment. Additionally, you can configure snapshot schedules to receive incremental updates of the data as well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seems pretty straighforward. Let&#8217;s give it a spin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Working with Azure Data Share<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In my scenario, I&#8217;ll setup an Azure Data Share in my Microsoft subscription, and share data with my MSDN account. Let&#8217;s start with setting things up in my Microsoft subscription.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Data Share is integrated into the portal. Just look for Data Shares, or use <a href=\"https:\/\/ms.portal.azure.com\/#blade\/HubsExtension\/BrowseResource\/resourceType\/Microsoft.DataShare%2Faccounts\">this link<\/a>. We&#8217;ll start by adding a new one.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"283\" height=\"117\" src=\"\/wp-content\/uploads\/2020\/01\/image-14.png\" alt=\"\" class=\"wp-image-673\"\/><figcaption>We&#8217;ll hit the Add button to create the resource.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The creation process is a single pane in the Azure portal. What I noticed here is that the Data Share service isn&#8217;t available in all regions. Luckily for me, my primary region (West US 2) is available, so I&#8217;ll create it there.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"807\" height=\"527\" src=\"\/wp-content\/uploads\/2020\/01\/image-15.png\" alt=\"\" class=\"wp-image-674\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-15.png 807w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-15-300x196.png 300w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-15-768x502.png 768w\" sizes=\"auto, (max-width: 807px) 100vw, 807px\" \/><figcaption>Single blade to create Azure Data Share. It shows limited amount of regions supported.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This took me about 2 minutes to complete, let&#8217;s now go in and configure our data share.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"\/wp-content\/uploads\/2020\/01\/image-16-1024x577.png\" alt=\"\" class=\"wp-image-675\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-16-1024x577.png 1024w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-16-300x169.png 300w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-16-768x433.png 768w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-16.png 1427w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>We&#8217;ll hit the Start sharing your data button here to start our share.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This gives us a 5 step data share creation. Step 1 is giving the share a name, a description and potentially custom Terms of use.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"427\" src=\"\/wp-content\/uploads\/2020\/01\/image-17.png\" alt=\"\" class=\"wp-image-676\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-17.png 602w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-17-300x213.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><figcaption>Step 1 is giving the name, description and terms of use.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next we&#8217;ll want to add our Datasets. We&#8217;ll select Blob storage here.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"905\" height=\"410\" src=\"\/wp-content\/uploads\/2020\/01\/image-18.png\" alt=\"\" class=\"wp-image-677\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-18.png 905w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-18-300x136.png 300w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-18-768x348.png 768w\" sizes=\"auto, (max-width: 905px) 100vw, 905px\" \/><figcaption>We&#8217;ll add a Blob storage dataset<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next, you can select your storage account, your containers or even &#8220;subfolders&#8221; you might want to share with your data consumers. (<em>I put subfolders in quotes, since blob doesn&#8217;t actually have a folder strucuture. But that&#8217;s a <a href=\"https:\/\/www.youtube.com\/watch?v=OXRBQg3jId4\">minor detail<\/a>.)<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"297\" height=\"297\" src=\"\/wp-content\/uploads\/2020\/01\/image-19.png\" alt=\"\" class=\"wp-image-678\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-19.png 297w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-19-150x150.png 150w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-19-60x60.png 60w\" sizes=\"auto, (max-width: 297px) 100vw, 297px\" \/><figcaption>You can select full storage accounts, containers or even subfolders in a container to share.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I ended up selecting the same container we shared in the earlier post, called test2b2. Finally, you&#8217;ll give your dataset a name (which can be different from the actual data name) and step 2 is done.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"632\" height=\"237\" src=\"\/wp-content\/uploads\/2020\/01\/image-20.png\" alt=\"\" class=\"wp-image-679\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-20.png 632w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-20-300x113.png 300w\" sizes=\"auto, (max-width: 632px) 100vw, 632px\" \/><figcaption>Give your dataset a name.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It appears you can actually share multiple datasets in one single Data Share request.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"226\" src=\"\/wp-content\/uploads\/2020\/01\/image-21.png\" alt=\"\" class=\"wp-image-680\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-21.png 646w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-21-300x105.png 300w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><figcaption>You can add multiple datasets to a single Data Share.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next, you&#8217;ll want to enter your recipients. In my case, this is going to be my alter ego Ben. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"621\" height=\"226\" src=\"\/wp-content\/uploads\/2020\/01\/image-22.png\" alt=\"\" class=\"wp-image-681\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-22.png 621w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-22-300x109.png 300w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><figcaption>Enter the recipients of this data share.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can optionally also set a snapshot schedule, either daily or hourly. I decided to set one up hourly.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"869\" height=\"240\" src=\"\/wp-content\/uploads\/2020\/01\/image-23.png\" alt=\"\" class=\"wp-image-682\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-23.png 869w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-23-300x83.png 300w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-23-768x212.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><figcaption>Optionally, you can set a snapshot schedule.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"721\" height=\"496\" src=\"\/wp-content\/uploads\/2020\/01\/image-24.png\" alt=\"\" class=\"wp-image-683\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-24.png 721w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-24-300x206.png 300w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><figcaption>Confirmation page, and then you can create your data share.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Creating the actual data share only took a couple a seconds. Now I need to login to the Azure portal, and see if Ben can get to his data share.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When I log in as Ben and head on over to Data Share invites, I can actually see the invite I just sent myself.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"885\" height=\"236\" src=\"\/wp-content\/uploads\/2020\/01\/image-25.png\" alt=\"\" class=\"wp-image-684\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-25.png 885w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-25-300x80.png 300w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-25-768x205.png 768w\" sizes=\"auto, (max-width: 885px) 100vw, 885px\" \/><figcaption>I can see my invite right there.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next up I need to configure a data share in my MSDN. One thing that annoys me here is that I cannot create a new resource group from this blade. So I first go ahead and create a new resource group.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"810\" height=\"329\" src=\"\/wp-content\/uploads\/2020\/01\/image-26.png\" alt=\"\" class=\"wp-image-685\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-26.png 810w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-26-300x122.png 300w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-26-768x312.png 768w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><figcaption>There&#8217;s no ability to create a new resource group.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next up, I can create (from this blade) my Azure Data Share resource. However, I get an error here that the namespace is not registered. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"568\" height=\"318\" src=\"\/wp-content\/uploads\/2020\/01\/image-27.png\" alt=\"\" class=\"wp-image-686\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-27.png 568w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-27-300x168.png 300w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><figcaption>Trying to create a data share resource.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"563\" height=\"137\" src=\"\/wp-content\/uploads\/2020\/01\/image-28.png\" alt=\"\" class=\"wp-image-687\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-28.png 563w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-28-300x73.png 300w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><figcaption>Getting this error that the RP isn&#8217;t registered.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">No biggy, just head on over to the subscription blade and register the resource provider.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"579\" height=\"229\" src=\"\/wp-content\/uploads\/2020\/01\/image-29.png\" alt=\"\" class=\"wp-image-688\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-29.png 579w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-29-300x119.png 300w\" sizes=\"auto, (max-width: 579px) 100vw, 579px\" \/><figcaption>In the subscription blade, you can register the RP for DataShare.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once the RP is registered, we can hit Create and wait for the Data Share resource to be created. Again, this takes a couple minutes to complete. After that, we can accept our invite.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"836\" height=\"871\" src=\"\/wp-content\/uploads\/2020\/01\/image-30.png\" alt=\"\" class=\"wp-image-690\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-30.png 836w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-30-288x300.png 288w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-30-768x800.png 768w\" sizes=\"auto, (max-width: 836px) 100vw, 836px\" \/><figcaption>Accepting the invite.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Next up, we&#8217;ll select our target storage account. I decided to create a new one for this demo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"307\" height=\"329\" src=\"\/wp-content\/uploads\/2020\/01\/image-31.png\" alt=\"\" class=\"wp-image-691\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-31.png 307w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-31-280x300.png 280w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><figcaption>Decided to create a new storage account.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">And with that, we have all our settings for the actual data share receiver.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"826\" height=\"540\" src=\"\/wp-content\/uploads\/2020\/01\/image-33.png\" alt=\"\" class=\"wp-image-693\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-33.png 826w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-33-300x196.png 300w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-33-768x502.png 768w\" sizes=\"auto, (max-width: 826px) 100vw, 826px\" \/><figcaption>Final configuration configuring the storage account.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">With that out of the way, our data should be getting copied at the scheduled snapshot time (which will be on the hour). And sure enough, my data did show up.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"511\" height=\"332\" src=\"\/wp-content\/uploads\/2020\/01\/image-34.png\" alt=\"\" class=\"wp-image-695\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-34.png 511w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-34-300x195.png 300w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I decided to add a new file to the source storage account, and wait for the hour for the snapshot to be taken to see all my new data appear. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And, as I was expecting, the data actually showed up at the hour (2 min after the hour actually). <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"518\" height=\"317\" src=\"\/wp-content\/uploads\/2020\/01\/image-35.png\" alt=\"\" class=\"wp-image-696\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-35.png 518w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-35-300x184.png 300w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><figcaption>New data automatically shows up.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">From a data provider perspective, I can now see the full history of all data copies that happened. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1005\" height=\"513\" src=\"\/wp-content\/uploads\/2020\/01\/image-36.png\" alt=\"\" class=\"wp-image-697\" srcset=\"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-36.png 1005w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-36-300x153.png 300w, https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-36-768x392.png 768w\" sizes=\"auto, (max-width: 1005px) 100vw, 1005px\" \/><figcaption>Overview of copies from the data provider&#8217;s point of view.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Azure Data Share enables you to easily share data with external users. The external user doesn&#8217;t get direct access to the source data, but rather gets a copy in their own storage account. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The experience of setting up the share was pretty straightforward. Accepting the invite had a couple hick-ups, but in the end I think the service is pretty easy to use.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before the holidays, I blogged about sharing blob storage data with AAD B2B guests. Peter Demeyere mentioned to me on LinkedIn that he likes to use Azure Data share to share blob data, as it has some more tracking data built in. And funnily enough, during my long run this weekend, I listened to an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":677,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,4],"tags":[8,68,71],"class_list":["post-672","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-management","tag-azure","tag-blob","tag-data-share"],"jetpack_featured_media_url":"https:\/\/nillsfblog.blob.core.windows.net\/media\/2020\/01\/image-18.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/posts\/672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/comments?post=672"}],"version-history":[{"count":3,"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/posts\/672\/revisions"}],"predecessor-version":[{"id":698,"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/posts\/672\/revisions\/698"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/media\/677"}],"wp:attachment":[{"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/media?parent=672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/categories?post=672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nillsf.com\/index.php\/wp-json\/wp\/v2\/tags?post=672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}