如何以编程方式获取Azure存储端点URL?

时间:2012-04-04 10:57:42

标签: azure azure-storage azure-storage-blobs

我是Azure的新手,我使用Blob存储来存储一些二进制图像,但我似乎无法弄清楚如何以编程方式获取我的Azure存储端点URL?

我正在尝试渲染一些使用模拟器在本地正确呈现的<img>标记,或者部署到我的实时Azure实例时。

因此,例如,如果我在本地启动我的网站,它将呈现为:

<img src="http://127.0.0.1:10000/devstoreaccount1/uploads/image.jpg" />

当部署到Azure时,它将呈现为:

<img src="http://example.blob.core.windows.net/uploads/image.jpg" />

显然,一种方法是将其存储为 ServiceConfiguration.Local.cscfg ServiceConfiguration.Cloud.cscfg 文件中的设置,但必须有一种方法以编程方式获取此值。

enter image description here

1 个答案:

答案 0 :(得分:2)

您的连接字符串应存储在您的配置中,并且您可以为本地和云设置不同的值,这是正确的。这很简单,以编程方式:

首先,确保在角色启动期间设置配置设置发布者:

CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) => configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)));

现在只需检索您的存储帐户并提取网址:

var storageAccount = CloudStorageAccount.FromConfigurationSetting("MyStorage");
var urlBase = storageAccount.BlobEndpoint;

此时,您需要将IMG代码设置为urlBase