2012-04-04 3 views
2

저는 Azure에 상당히 익숙하며 Blob 스토리지를 사용하여 일부 바이너리 이미지를 저장하고 있습니다.하지만 Azure 저장소 엔드 포인트 URL을 프로그래밍 방식으로 얻는 방법을 알아낼 수 없습니까?Azure 스토리지 엔드 포인트 URL을 프로그래밍 방식으로 어떻게 구할 수 있습니까?

<img> 태그를 시뮬레이터를 사용하여 로컬로 올바르게 렌더링하거나 라이브 Azure 인스턴스에 배포 할 때 렌더링하려고합니다.

그래서 예를 들어 나는대로 밖으로 렌더링 할 로컬 내 사이트를 시작하는 경우 :

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

과 푸른에 배포 할 때 같이 밖으로 렌더링 것 :

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

은 분명히 하나 개의 방법이하는 것 ServiceConfiguration.Local.cscfgServiceConfiguration.Cloud.cscfg 파일에 설정으로 저장해야하지만 프로그래밍 방식으로이 값을 가져올 수있는 방법이 있어야합니다.

enter image description here

답변

2

당신은 당신의 연결 문자열이 구성에 보관해야하는 것을 맞아요, 당신은 로컬 및 클라우드에 대해 서로 다른 값을 가질 수 있습니다. 이 프로그램에서 얻을 매우 간단합니다 :

먼저 역할을 시작하는 동안 게시자 설정 설정을 설정해야합니다 :

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

이제 당신의 저장소 계정을 검색하고 URL 당기 :

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

이 시점에서 IMG 태그는 urlBase을 기준으로합니다.