我是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 文件中的设置,但必须有一种方法以编程方式获取此值。
答案 0 :(得分:2)
您的连接字符串应存储在您的配置中,并且您可以为本地和云设置不同的值,这是正确的。这很简单,以编程方式:
首先,确保在角色启动期间设置配置设置发布者:
CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) => configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)));
现在只需检索您的存储帐户并提取网址:
var storageAccount = CloudStorageAccount.FromConfigurationSetting("MyStorage");
var urlBase = storageAccount.BlobEndpoint;
此时,您需要将IMG
代码设置为urlBase
。