{"id":248,"date":"2023-11-27T11:44:18","date_gmt":"2023-11-27T10:44:18","guid":{"rendered":"https:\/\/france.magicsoftware.com\/blog\/?p=248"},"modified":"2025-12-14T16:21:30","modified_gmt":"2025-12-14T15:21:30","slug":"azure-storage","status":"publish","type":"post","link":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/","title":{"rendered":"Azure Storage &#8211; Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Goal : List a container blob storage and download and save each content (blockblob) in a file locally<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Describe the different steps for connecting Magic xpi with Azure Storage using REST API<\/p>\n\n\n\n<pre class=\"wp-block-verse\">1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">(*) Instead of Shared Key, Authorization can be done with Azure Active Directory(<a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/active-directory\/fundamentals\/active-directory-whatis\">Microsoft Entra ID<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, the URL should be in this format : <em>https:\/\/{{azure_storage_account}}.blob.core.windows.net\/devtest\/?restype=container&amp;comp=list<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">to get the containers list<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"654\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_2-1024x654.png\" alt=\"\" class=\"wp-image-272\" style=\"width:591px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_2-1024x654.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_2-300x192.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_2-768x490.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_2.png 1253w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You need to set {{azure_storage_account}}, {{header_date}} and <strong>{{header_authorization}}<\/strong>   variables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(*) <strong><em>The main difficulty is to generate the {{header_authorization}} key that must be in the format :  SharedKey&lt;space&gt;{{AccountName}}:{{SignatureEncoded}}<\/em><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">example : SharedKey stmagictrfdevtest:+t5tQFW23cZ63NUZt4gQMuBUSBPSh52qa+Q5NOoFCEI=<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the Postman project, you can use the Pre-request Script to set the 3 parameters below<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"891\" height=\"783\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_5.png\" alt=\"\" class=\"wp-image-285\" style=\"width:431px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_5.png 891w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_5-300x264.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_5-768x675.png 768w\" sizes=\"auto, (max-width: 891px) 100vw, 891px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can use Microsoft Azure Storage Explorer to retrieve your azure storage account and check that you can list the content of a blob container.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"717\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_3-1024x717.png\" alt=\"\" class=\"wp-image-276\" style=\"width:555px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_3-1024x717.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_3-300x210.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_3-768x538.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_3.png 1079w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_4-1024x576.png\" alt=\"\" class=\"wp-image-277\" style=\"width:567px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_4-1024x576.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_4-300x169.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_4-768x432.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_4-1536x864.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_4.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">2\/ In other to set the <strong><em>{{header_authorization}}<\/em><\/strong> with Magic xpi, a solution is to use a <strong><em>powershell script<\/em><\/strong> that generates the signature and the header_date for the right operation (GET, PUT, LIST)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Example for downloading a blob :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"649\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/01\/AZURE_STORAGE_25-1024x649.png\" alt=\"\" class=\"wp-image-550\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/01\/AZURE_STORAGE_25-1024x649.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/01\/AZURE_STORAGE_25-300x190.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/01\/AZURE_STORAGE_25-768x486.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/01\/AZURE_STORAGE_25.png 1372w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In this powershell script, we redirect the encoded signature and the header_date in the magic xpi project directory<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>(*) Be aware that you need to have a different signature for listing (LIST), downloading (GET) or uploading (PUT)<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"636\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_7-1024x636.png\" alt=\"\" class=\"wp-image-292\" style=\"width:600px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_7-1024x636.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_7-300x186.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_7-768x477.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_7.png 1299w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">(*) Documentation reference : <a href=\"https:\/\/kb.sos-berlin.com\/display\/PKB\/Feature+Proposal+-+Azure+Blob+Storage+-+Shared+Key+Authentication#FeatureProposalAzureBlobStorageSharedKeyAuthentication-Example\">https:\/\/kb.sos-berlin.com\/display\/PKB\/Feature+Proposal+-+Azure+Blob+Storage+-+Shared+Key+Authentication#FeatureProposalAzureBlobStorageSharedKeyAuthentication-Example<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3\/ Use a FlowData component to update a flow variable for the AccountName<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4\/ Drag and Drop a FileManagement component and use Command Line method to call a bat file that will call your powershell script<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"144\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_9-1024x144.png\" alt=\"\" class=\"wp-image-296\" style=\"width:560px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_9-1024x144.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_9-300x42.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_9-768x108.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_9-1536x216.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_9.png 1684w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"421\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_8-1024x421.png\" alt=\"\" class=\"wp-image-295\" style=\"width:678px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_8-1024x421.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_8-300x123.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_8-768x316.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_8.png 1226w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">4\/ Use a FlowData component to update 3 flow variables (F.signatureEncoded, F.Auth and F.UTCdate<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F.Auth will hold the <strong><em>{{header_authorization}}<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_10-1024x376.png\" alt=\"\" class=\"wp-image-299\" style=\"width:838px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_10-1024x376.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_10-300x110.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_10-768x282.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_10-1536x564.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_10.png 1684w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>F.SignatureEncoded<\/strong> with : UTF8FromAnsi (RepStr (RepStr (File2Blb (&lsquo;&lt;magic xpi installation directory&gt;\\Runtime\\projects\\AzureStorage2\\AzureStorage2\\signatureencoded\\token.txt&rsquo;),ASCIIChr (13),\u00a0\u00bb),ASCIIChr (10),\u00a0\u00bb))<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>F.Auth<\/strong> with : &lsquo;SharedKey &lsquo;&amp;Trim (F.AccountName)&amp;&rsquo;:&rsquo;&amp;Trim (F.SignatureEncoded)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>F.UtCdate<\/strong> with : File2Blb (&lsquo;&lt;magic xpi installation directory&gt;\\Runtime\\projects\\AzureStorage2\\AzureStorage2\\signatureencoded\\date.txt&rsquo;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5\/ Create a REST Client Magic xpi resource to call Azure Storage (Project=&gt;Settings=&gt;Resources)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Define 4 header parameters (Authorization, x-ms-date, x-ms-version, x-ms-blob-type) and 2 query parameters (restype, comp)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"311\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_12-1024x311.png\" alt=\"\" class=\"wp-image-305\" style=\"width:712px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_12-1024x311.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_12-300x91.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_12-768x234.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_12-1536x467.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_12.png 1684w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"212\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_13-1024x212.png\" alt=\"\" class=\"wp-image-308\" style=\"width:812px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_13-1024x212.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_13-300x62.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_13-768x159.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_13-1536x318.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_13.png 1684w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">6\/ Use a REST Client connector to make the call to azure storage REST API.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"473\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_14-1024x473.png\" alt=\"\" class=\"wp-image-310\" style=\"width:711px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_14-1024x473.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_14-300x139.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_14-768x355.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_14-1536x710.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_14.png 1684w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">7\/ Now you need to parse the xml result with the Datamapper component and <strong>make a loop to download each blockblob<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Drag and Drop a Datamapper component and configure an XML as a source and a CallFlow as destination<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"828\" height=\"493\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_16.png\" alt=\"\" class=\"wp-image-331\" style=\"width:467px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_16.png 828w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_16-300x179.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_16-768x457.png 768w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"420\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_15-1024x420.png\" alt=\"\" class=\"wp-image-329\" style=\"width:687px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_15-1024x420.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_15-300x123.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_15-768x315.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_15.png 1399w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">8\/ In the called Flow, you need to generate a signature for the desired blockblob you want to download<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Like in step 2\/, you can call a powershell and pass the blockblob name to generate the signature.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"658\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_17-1024x658.png\" alt=\"\" class=\"wp-image-338\" style=\"width:668px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_17-1024x658.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_17-300x193.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_17-768x494.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_17.png 1159w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">in the bat file, you call the powershell script :<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -ExecutionPolicy Bypass .\\sas2download.ps1 %1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Powershell should be like this to receive the parameter.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"180\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_18-1024x180.png\" alt=\"\" class=\"wp-image-340\" style=\"width:872px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_18-1024x180.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_18-300x53.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_18-768x135.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_18.png 1254w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">9\/ After getting the tokendownload.txt and the datedownload.txt, you can proceed like in step 4\/ to update the Authorization<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"680\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_19-1024x680.png\" alt=\"\" class=\"wp-image-344\" style=\"width:526px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_19-1024x680.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_19-300x199.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_19-768x510.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_19.png 1118w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">10\/ Add a path in the REST Client Magic xpi resource to call Azure Storage Download (Project=&gt;Settings=&gt;Resources)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"352\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_20-1024x352.png\" alt=\"\" class=\"wp-image-348\" style=\"width:908px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_20-1024x352.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_20-300x103.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_20-768x264.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_20.png 1211w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">11\/  Use the REST Client connector to make the call using Get operation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"625\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_21-1024x625.png\" alt=\"\" class=\"wp-image-351\" style=\"width:644px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_21-1024x625.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_21-300x183.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_21-768x469.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_21.png 1211w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"138\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_22-1024x138.png\" alt=\"\" class=\"wp-image-353\" style=\"width:635px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_22-1024x138.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_22-300x41.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_22-768x104.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_22.png 1177w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">12\/ Drag &amp; Drop Filemanagement Component to save the content on a file locally with a timestamp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Assume that the Response of the previous step (REST Client Download) goes into C.UserBlob.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_23-1024x551.png\" alt=\"\" class=\"wp-image-356\" style=\"width:630px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_23-1024x551.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_23-300x161.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_23-768x413.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_23.png 1177w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"645\" height=\"146\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_24.png\" alt=\"\" class=\"wp-image-358\" style=\"width:436px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_24.png 645w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_24-300x68.png 300w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">13\/ Document reference : <a href=\"https:\/\/learn.microsoft.com\/en-us\/rest\/api\/storageservices\/list-containers2?tabs=shared-key\">https:\/\/learn.microsoft.com\/en-us\/rest\/api\/storageservices\/list-containers2?tabs=shared-key<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Documentation reference : <a href=\"https:\/\/kb.sos-berlin.com\/display\/PKB\/Feature+Proposal+-+Azure+Blob+Storage+-+Shared+Key+Authentication#FeatureProposalAzureBlobStorageSharedKeyAuthentication-Example\">https:\/\/kb.sos-berlin.com\/display\/PKB\/Feature+Proposal+-+Azure+Blob+Storage+-+Shared+Key+Authentication#FeatureProposalAzureBlobStorageSharedKeyAuthentication-Example<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[31,93,4,28],"tags":[11,14],"class_list":["post-248","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-azure-storage","category-magic-xpi","category-microsoft","tag-azure","tag-magic-xpi"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Sa\u00e2d Alem\"\/>\n\t<meta name=\"google-site-verification\" content=\"5yLZLt_RgZVqkETQDrOlMUHaNTra2i5W8dtHQoCMueY\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Le Blog Techno | Magic Software France\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Azure Storage \u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno\" \/>\n\t\t<meta property=\"og:description\" content=\"Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico\" \/>\n\t\t<meta property=\"og:image:width\" content=\"16\" \/>\n\t\t<meta property=\"og:image:height\" content=\"16\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-11-27T10:44:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-12-14T15:21:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MagicSoftwareEnterprises\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@MagicSoftware\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Azure Storage \u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@MagicSoftware\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#blogposting\",\"name\":\"Azure Storage \\u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno\",\"headline\":\"Azure Storage &#8211; Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API\",\"author\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/AZURE_STORAGE_1.png\",\"width\":595,\"height\":146},\"datePublished\":\"2023-11-27T11:44:18+01:00\",\"dateModified\":\"2025-12-14T16:21:30+01:00\",\"inLanguage\":\"fr-FR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#webpage\"},\"articleSection\":\"Azure, Azure Storage, Magic xpi, Microsoft, Azure, Magic xpi\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog#listItem\",\"position\":1,\"name\":\"Domicile\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/#listItem\",\"name\":\"Magic xpi\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/#listItem\",\"position\":2,\"name\":\"Magic xpi\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/#listItem\",\"name\":\"Microsoft\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog#listItem\",\"name\":\"Domicile\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/#listItem\",\"position\":3,\"name\":\"Microsoft\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/azure\\\/#listItem\",\"name\":\"Azure\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/#listItem\",\"name\":\"Magic xpi\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/azure\\\/#listItem\",\"position\":4,\"name\":\"Azure\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/azure\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/azure\\\/azure-storage\\\/#listItem\",\"name\":\"Azure Storage\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/#listItem\",\"name\":\"Microsoft\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/azure\\\/azure-storage\\\/#listItem\",\"position\":5,\"name\":\"Azure Storage\",\"item\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/azure\\\/azure-storage\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#listItem\",\"name\":\"Azure Storage &#8211; Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/azure\\\/#listItem\",\"name\":\"Azure\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#listItem\",\"position\":6,\"name\":\"Azure Storage &#8211; Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/category\\\/magic-xpi\\\/microsoft\\\/azure\\\/azure-storage\\\/#listItem\",\"name\":\"Azure Storage\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#organization\",\"name\":\"Blog Magic France\",\"description\":\"Magic Software France\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/\",\"telephone\":\"+33149105858\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Magic.ico\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#organizationLogo\",\"width\":16,\"height\":16},\"image\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/MagicSoftwareEnterprises\",\"https:\\\/\\\/twitter.com\\\/MagicSoftware\",\"https:\\\/\\\/youtube.com\\\/MagicSoftware\",\"https:\\\/\\\/linkedin.com\\\/company\\\/magic-software-enterprises\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/#author\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/\",\"name\":\"Sa\\u00e2d Alem\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/38fae53569553d87ce6ffb3b936e4df6feecf6069ddb238526105d8d906273c4?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Sa\\u00e2d Alem\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#webpage\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/\",\"name\":\"Azure Storage \\u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno\",\"description\":\"Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\\\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/author\\\/saad\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/AZURE_STORAGE_1.png\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#mainImage\",\"width\":595,\"height\":146},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/magic-xpi\\\/azure-storage\\\/#mainImage\"},\"datePublished\":\"2023-11-27T11:44:18+01:00\",\"dateModified\":\"2025-12-14T16:21:30+01:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/\",\"name\":\"Blog Magic France\",\"description\":\"Magic Software France\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/france.magicsoftware.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Azure Storage \u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno","description":"Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared","canonical_url":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"5yLZLt_RgZVqkETQDrOlMUHaNTra2i5W8dtHQoCMueY","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#blogposting","name":"Azure Storage \u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno","headline":"Azure Storage &#8211; Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API","author":{"@id":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/#author"},"publisher":{"@id":"https:\/\/france.magicsoftware.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_1.png","width":595,"height":146},"datePublished":"2023-11-27T11:44:18+01:00","dateModified":"2025-12-14T16:21:30+01:00","inLanguage":"fr-FR","mainEntityOfPage":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#webpage"},"isPartOf":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#webpage"},"articleSection":"Azure, Azure Storage, Magic xpi, Microsoft, Azure, Magic xpi"},{"@type":"BreadcrumbList","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog#listItem","position":1,"name":"Domicile","item":"https:\/\/france.magicsoftware.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/#listItem","name":"Magic xpi"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/#listItem","position":2,"name":"Magic xpi","item":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/#listItem","name":"Microsoft"},"previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog#listItem","name":"Domicile"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/#listItem","position":3,"name":"Microsoft","item":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/#listItem","name":"Azure"},"previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/#listItem","name":"Magic xpi"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/#listItem","position":4,"name":"Azure","item":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/azure-storage\/#listItem","name":"Azure Storage"},"previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/#listItem","name":"Microsoft"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/azure-storage\/#listItem","position":5,"name":"Azure Storage","item":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/azure-storage\/","nextItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#listItem","name":"Azure Storage &#8211; Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API"},"previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/#listItem","name":"Azure"}},{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#listItem","position":6,"name":"Azure Storage &#8211; Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API","previousItem":{"@type":"ListItem","@id":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/azure-storage\/#listItem","name":"Azure Storage"}}]},{"@type":"Organization","@id":"https:\/\/france.magicsoftware.com\/blog\/#organization","name":"Blog Magic France","description":"Magic Software France","url":"https:\/\/france.magicsoftware.com\/blog\/","telephone":"+33149105858","logo":{"@type":"ImageObject","url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#organizationLogo","width":16,"height":16},"image":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/MagicSoftwareEnterprises","https:\/\/twitter.com\/MagicSoftware","https:\/\/youtube.com\/MagicSoftware","https:\/\/linkedin.com\/company\/magic-software-enterprises"]},{"@type":"Person","@id":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/#author","url":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/","name":"Sa\u00e2d Alem","image":{"@type":"ImageObject","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/38fae53569553d87ce6ffb3b936e4df6feecf6069ddb238526105d8d906273c4?s=96&d=mm&r=g","width":96,"height":96,"caption":"Sa\u00e2d Alem"}},{"@type":"WebPage","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#webpage","url":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/","name":"Azure Storage \u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno","description":"Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/france.magicsoftware.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#breadcrumblist"},"author":{"@id":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/#author"},"creator":{"@id":"https:\/\/france.magicsoftware.com\/blog\/author\/saad\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_1.png","@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#mainImage","width":595,"height":146},"primaryImageOfPage":{"@id":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/#mainImage"},"datePublished":"2023-11-27T11:44:18+01:00","dateModified":"2025-12-14T16:21:30+01:00"},{"@type":"WebSite","@id":"https:\/\/france.magicsoftware.com\/blog\/#website","url":"https:\/\/france.magicsoftware.com\/blog\/","name":"Blog Magic France","description":"Magic Software France","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/france.magicsoftware.com\/blog\/#organization"}}]},"og:locale":"fr_FR","og:site_name":"Le Blog Techno | Magic Software France","og:type":"article","og:title":"Azure Storage \u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno","og:description":"Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared","og:url":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/","og:image":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico","og:image:secure_url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico","og:image:width":16,"og:image:height":16,"article:published_time":"2023-11-27T10:44:18+00:00","article:modified_time":"2025-12-14T15:21:30+00:00","article:publisher":"https:\/\/www.facebook.com\/MagicSoftwareEnterprises","twitter:card":"summary_large_image","twitter:site":"@MagicSoftware","twitter:title":"Azure Storage \u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API | Le Blog Techno","twitter:description":"Goal : List a container blob storage and download and save each content (blockblob) in a file locally Describe the different steps for connecting Magic xpi with Azure Storage using REST API 1\/ Check that you can call the Azure Storage REST API using Postman with your credentials using Shared Key (*) Instead of Shared","twitter:creator":"@MagicSoftware","twitter:image":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/Magic.ico"},"aioseo_meta_data":{"post_id":"248","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2024-01-03 15:04:25","updated":"2025-12-14 15:25:55","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\" title=\"Domicile\">Domicile<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/\" title=\"Magic xpi\">Magic xpi<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/\" title=\"Microsoft\">Microsoft<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/\" title=\"Azure\">Azure<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/azure-storage\/\" title=\"Azure Storage\">Azure Storage<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAzure Storage \u2013 Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Domicile","link":"https:\/\/france.magicsoftware.com\/blog"},{"label":"Magic xpi","link":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/"},{"label":"Microsoft","link":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/"},{"label":"Azure","link":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/"},{"label":"Azure Storage","link":"https:\/\/france.magicsoftware.com\/blog\/category\/magic-xpi\/microsoft\/azure\/azure-storage\/"},{"label":"Azure Storage &#8211; Magic xpi : How to Get the Content list of a Blob Container and Download BlockBlobs locally using REST API","link":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azure-storage\/"}],"jetpack_featured_media_url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZURE_STORAGE_1.png","_links":{"self":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=248"}],"version-history":[{"count":16,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/248\/revisions"}],"predecessor-version":[{"id":2414,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/248\/revisions\/2414"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/media\/249"}],"wp:attachment":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}