使用本地模拟blob存储的Azure驱动器寻址

时间:2013-02-19 09:38:21

标签: azure

我无法使用运行存储/计算机模拟器的本地托管服务为Azure驱动器提供简单的技术演示。这不是我的第一个azure项目,只是我第一次使用Azure Drive功能。

代码:

var localCache = RoleEnvironment.GetLocalResource("MyAzureDriveCache"); 
CloudDrive.InitializeCache(localCache.RootPath, localCache.MaximumSizeInMegabytes);
var creds = new StorageCredentialsAccountAndKey("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==");
drive = new CloudDrive(new Uri("http://127.0.0.1:10000/devstoreaccount1/drive"), creds);
drive.CreateIfNotExist(16);
drive.Mount(0, DriveMountOptions.None);

使用本地资源配置:

LocalStorage name="MyAzureDriveCache" cleanOnRoleRecycle="false" sizeInMB="220000"

例外:

Uri http://127.0.0.1:10000/devstoreaccount1/drive is Invalid

有关如何处理本地存储的信息,请访问:https://azure.microsoft.com/en-us/documentation/articles/storage-use-emulator/

我已经使用存储模拟器UI来创建C:\ Users ... \ AppData \ Local \ dftmp \ wadd \ devstoreaccount1文件夹,在这种情况下,我希望将其作为容器。

但是,我遵循这些指导原则(据我所知),但我仍然收到例外情况。在这种情况下,是否有人能够确定我做错了什么?我曾希望能够使用一个工作示例轻松解决这个问题,其他人正在使用带有127.0.0.1或localhost的CloudDrive,但无法在Google上找到这样的。

1 个答案:

答案 0 :(得分:0)

我认为你在安装之前已经通过了几个必要的步骤。

您必须在安装之前初始化驱动器的本地缓存以及包含云驱动器的页面blob的URI。

初始化缓存:

// Initialize the local cache for the Azure drive
LocalResource cache = RoleEnvironment.GetLocalResource("LocalDriveCache");
CloudDrive.InitializeCache(cache.RootPath + "cache", cache.MaximumSizeInMegabytes);

定义页面blob的URI,通常在配置文件中生成:

// Retrieve URI for the page blob that contains the cloud drive from configuration settings
string imageStoreBlobUri = RoleEnvironment.GetConfigurationSettingValue("< Configuration name>");