我碰到了一堵磚牆,試圖鍛鍊如何列出所有容器和Blob。奇怪的是,我還沒有看到一個這樣做的Coldfusion示例。使用C#使用Coldfusion通過REST訪問Azure blob存儲示例
我試過下面的C#項目,但我堅持在創建簽名的時刻。以下是我從C#項目中提取的內容。
資源陣列 - 這是一些資源我想調用
- restype =容器&排版=列表&包括=快照&包括元數據=
- 排版=列表
- 容器+「/」+ blob +「?comp = pagelist
- container +」/「+ blob +」?comp = blocklist
我從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>
由於IM提取什麼不是C#開發人員,如果有人可以解釋的結果會是怎樣以下我或許可以將其轉換。
MessageSignature是一個以逗號分隔的值列表(即{0} \ n \ n \ n {1} \ n {5} \ n \ n \ n \ n {2} \ 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);
謝謝。
感謝您的反饋加里,我不想使用Java SDK的作爲即時通訊只是希望調用一個或兩個的方法,所以它似乎矯枉過正。令人沮喪的是,他們使得它變得如此複雜,他們的文檔遠沒有自我解釋。 –