2012-10-31 2 views
2

모든 컨테이너와 얼룩을 나열하는 방법을 연습하려고 벽돌 벽을 칠했습니다. 이상하게도이 작업을 수행하는 ColdFusion 예제는 하나도 보지 못했습니다.C# 예제를 사용하여 Coldfusion을 사용하여 REST를 통해 Azure blob 저장소에 액세스

나는 C# 프로젝트를 따르려고했지만 서명을 만들 때 막혔다. 다음은 지금까지 C# 프로젝트에서 추출한 내용입니다.

자원 어레이 - 이들은 일부 자원 제가

  1. restype 호출하려는이다 = 컨테이너 & 샘플 콘텐츠는 = 목록 &은 &가 = 메타
  2. 완 = 목록
  3. 용기를 포함 = 스냅 샷을 포함 + "/"+ blob + "? comp = pagelist
  4. 컨테이너 +"/ "+ blob +"? comp = 차단 목록

내가 C#을 논리 메신저로

<cfhttp method="GET" url="http://#arguments.storageAccount#.#variables.hostEndPoint[storageType]#?#resource[1]#"> 
    <cfhttpparam type="header" name="x-ms-date" value="#dateTimeString#" /> 
    <cfhttpparam type="header" name="x-ms-version" value="2009-09-19" /> 
    <cfhttpparam type="header" name="Authorization" value="??????" /> 
</cfhttp> 

에서 추출했습니다 무엇되지는 C# 개발자, 사람이 결과는 내가 그것을 변환 할 수 있습니다 다음이 될 것입니다 무엇인지 설명 할 수 있습니다.

MessageSignature는 아래 값 (즉, '{0} \ n \ n \ n {1} \ n {5} \ n \ n \ n \ n {2} \ n \ N \ N \ N {3} {4}, GET ,, 어떤 ifMatch 반환 ... ')

MessageSignature = String.Format("{0}\n\n\n{1}\n{5}\n\n\n\n{2}\n\n\n\n{3}{4}", 
    method, 
    (method == "GET" || method == "HEAD") ? String.Empty : request.ContentLength.ToString(), 
    ifMatch, 
    GetCanonicalizedHeaders(request), 
    GetCanonicalizedResource(request.RequestUri, StorageAccount), 
    md5 
); 

어떤 것 예를 들어 문자열 (예에 대한 다음 반환'복합 푸른! ')

byte[] SignatureBytes = System.Text.Encoding.UTF8.GetBytes(MessageSignature); 

감사합니다.

답변

1

Coldpusion의 REST API를 사용하여 놀랍도록 오래 전부터 시도 했으므로 직접 질문에 답변 할 수 없었습니다 (서명을 제대로 얻을 수 없었 음). 그러나 Microsoft는 이제 REST API를 사용하는 Azure Java SDK을 완전히 지원합니다. Coldfusion에서 소모 할 수 있어야합니다 (아직 시도하지는 않았지만 완전히 의도 했음에도).

+0

덕분에, 난 그냥 잔인한 것 같다, 그래서 하나의 방법이 호출하고자하는 메신저로 자바 SDK를 사용하려는 해달라고. 너무 실망 스럽기 때문에 그들이 너무 복잡하게 만들었고 그들의 문서는 스스로 설명 할 수있는 것이 아닙니다. –

1

C#을 사용하여 Azure REST API에 액세스하는 방법을 보여주는 비디오를 만들었습니다. 비디오가 도움이 될 것이라고 확신합니다. Java 논리가 매우 유사합니다. 귀하의 의견 게리에 대한

http://youtu.be/NJQzEnk2Gck?hd=1