Targeting Azure Storage: Listing 2: Create BlobStorage Account and Blob and Log Container Objects

The following code in the WebRole Default.aspx file's Page_Load event handler obtains the storage account details from the ServiceConfiguraiton.cscfg file (see Listing 1). It creates a BlobStorage account object and a Container named oakleaf2store with public access. It then creates a LogContainer named oakleaf2log with public access--if it doesn't already exist.

// Get the storage account details from the
//   ServiceConfiguration.cscfg file
StorageAccountInfo accountInfo = 
  StorageAccountInfo.
  GetDefaultBlobStorageAccountFromConfiguration();

// Create the BlobStorage 
BlobStorage blobStorage = 
  BlobStorage.Create(accountInfo);

// If blob Container doesn't exist, create it
//   Container names have DNS character restrictions
blobContainer = 
  blobStorage.GetBlobContainer(RoleManager.
  GetConfigurationSetting("ContainerName"));
// Enable public access to container content
if (!blobContainer.DoesContainerExist())
    blobContainer.CreateContainer(new 
      NameValueCollection(), 
      ContainerAccessControl.Public);

// Enable public log access
logContainer = 
   blobStorage.GetBlobContainer(RoleManager.
  GetConfigurationSetting("LogContainerName"));
if (logContainer.DoesContainerExist())
{
    doWriteLogs = true;
    ContainerAccessControl logACL =
      logContainer.GetContainerAccessControl();
    if (logACL == ContainerAccessControl.Private)
    {
        logACL = ContainerAccessControl.Public;
        logContainer.
          SetContainerAccessControl(logACL);
    }
}
// Load the GridView with blob metadata
UpdateFileList();
comments powered by Disqus

Featured

  • VS Code 1.127 Further Integrates Advanced Browser-AI Tech

    Microsoft's July 1 Visual Studio Code update continues a recent push to make the editor's integrated browser a more capable development surface -- and a more useful tool for AI agents.

  • Support Vector Regression with SGD Training Using C#

    Support vector regression can predict numeric values effectively, and this article shows how to implement and train a kernel SVR model in C# using stochastic sub-gradient descent.

  • New GitHub Switch Limits Repo Issue Creation to Collaborators Only

    After publicly touting pull request limits as a way to cut maintainer noise, GitHub is taking the same idea further with a new setting that lets repository admins restrict issue creation to collaborators only.

  • Uno Platform Helps Ship First Stable SkiaSharp 4.0 Release for 2D .NET Graphics

    SkiaSharp 4.148.0 is the first stable v4 release, bringing a newer Skia engine, API cleanup, performance work and a Microsoft-Uno co-maintenance model.

Subscribe on YouTube