World is now on Opti ID! Learn more

Ram Kumar K
Mar 24, 2018
  11630
(2 votes)

Using Azure Cloud for Storing Episerver CMS Blobs

Using Azure Cloud for Storing Episerver CMS Blobs -

Working with multiple developers in the Episerver Environment requires sharing Blobs.  One of the best options our team agreed on was using Free Azure account to do a POC. 

The following would help you to set-up storage account in Azure and use that as a default blob provider for your Episerver project.

  • Create a storage account by using the Azure portal
  • Create a Resource, Resource Group & Storage Account
  • Create Container and Get Access keys
  • Install Azure Packages in Episerver
  • Transfer files using  AzCopy 

1) Create a storage account by using the Azure portal

Login to Azure Site using the following Link

https://portal.azure.com/

Image Azure_1.png

2) Create a Resource, Resource Group & Storage Account

Resource:  A manageable item that is available through Azure.  EX: Storage account, Web app, Database, VM

Resource Group: A container that holds related resources for an Azure solution.

Storage Account: A general-purpose storage account provides access to all of the Azure Storage services: blobs, files, queues, and tables.

Image Azure_2.PNG

2) Resource Group:

Image Azure_REsource_Group2.png

2) Storage Account 

Image Azure_Storage_Account2.png

3)Create Container and Get Access keys

After creating the storage account, you can add a container and get keys for the storage account to access them in Episerver CMS. The connectionstring info is used to connect the Azure storage.

Image Azure_Storage_Container2.png

Image Azure_Storage_Container_Access2.png

4) Install Azure Packages in Episerver CMS Project.

Add EPiServer Azure Nuget Package

Image Episerver_Azure_Nuget.PNG

4) Add  the following in in web.config

Change Blob provider : "mycontainer" is name of your Azure Blob Storage Container

 <blob defaultProvider="azureblobs">
      <providers>
        <add name="azureblobs" type="EPiServer.Azure.Blobs.AzureBlobProvider,EPiServer.Azure"
              connectionStringName="EPiServerAzureBlobs" container="mycontainer"/>
      </providers>
    </blob>

Add connection string
<connectionStrings>
    <add name="EPiServerAzureBlobs" connectionString="DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=abcdefghij" />
  </connectionStrings>


5) Upload/Transfer blobs using AzCopy

  • AzCopy is a command-line utility designed for copying data to/from Microsoft Azure Blob
  • AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /S
  • Image AZure_copy.png

That's it. Run the website and You are using Azure storage for blobs. This would help your team in the multi-developer environment and remote development as well.

This POC was done using free VS subscription and we have moved to Gov Cloud now.

Reference: Azure Quick Start 

Mar 24, 2018

Comments

Drew Null
Drew Null Jun 3, 2018 05:10 AM

Thanks for the write-up, Ram. I like to use Azure for my development environment too. 

A few things I would add: 

  • The element mentioned above goes in the element
  • If you're using Commerce, be sure to install the Episerver.Commerce.Azure NuGet package to both your CMS and Commerce Manager projects
  • Keep your CMS and CM connection strings and elements in sync
  • Comment out the element unless you are prepared to set that up in Azure too (both CMS and CM)

Thanks!

Please login to comment.
Latest blogs
Troubleshooting Optimizely Shortcuts: Why PageShortcutLink Threw an Error and the Solution

As developers working with Optimizely, we often encounter unique challenges that push us to explore the platform's depths. Recently, I tackled a...

Amit Mittal | Jul 9, 2025

Commerce 14.41 delisted from Nuget feed

We have decided to delist version 14.41 of the Commerce packages as we have discovered a bug that prevents current carts to be saved into...

Shahrukh Ikhtear | Jul 8, 2025

How Optimizely SaaS CMS Isn’t Just Another Commodity

CMS platforms these days are becoming commoditised. The modelling of most systems lends itself to automation. Giving marketers more flexibility wit...

Chuhukon | Jul 4, 2025 |

How to Set Up CI/CD Pipeline for Optimizely Frontend Hosting Using GitHub Actions

As I promised in my previous blog post about getting started with Optimizely Frontend Hosting, today I’m delivering on that promise by sharing how ...

Szymon Uryga | Jul 2, 2025