Try our conversational search powered by Generative AI!

Ram Kumar K
Mar 24, 2018
  10326
(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
Fix your Search & Navigation (Find) indexing job, please

Once upon a time, a colleague asked me to look into a customer database with weird spikes in database log usage. (You might start to wonder why I a...

Quan Mai | Apr 17, 2024 | Syndicated blog

The A/A Test: What You Need to Know

Sure, we all know what an A/B test can do. But what is an A/A test? How is it different? With an A/B test, we know that we can take a webpage (our...

Lindsey Rogers | Apr 15, 2024

.Net Core Timezone ID's Windows vs Linux

Hey all, First post here and I would like to talk about Timezone ID's and How Windows and Linux systems use different IDs. We currently run a .NET...

sheider | Apr 15, 2024

What's new in Language Manager 5.3.0

In Language Manager (LM) version 5.2.0, we added an option in appsettings.json called TranslateOrCopyContentAreaChildrenBlockForTypes . It does...

Quoc Anh Nguyen | Apr 15, 2024