すべてのコンテナーとブロブを一覧表示する方法を試してみようとして、レンガの壁にぶつかりました。奇妙なことに、これを行う Coldfusion の例を 1 つも見たことがありません。
C# プロジェクトに従ってみましたが、署名を作成する段階で行き詰まっています。以下は、これまでの C# プロジェクトから抽出したものです。
リソース配列 - これらは、呼び出したいリソースの一部です
- restype=コンテナ&コンプ=リスト&インクルード=スナップショット&インクルード=メタデータ
- comp=リスト
- コンテナー + "/" + ブロブ + "?comp=pagelist
- コンテナー + "/" + ブロブ + "?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
);
以下は、サンプル文字列に対して何を返しますか (例: 'Complex Azure!')
byte[] SignatureBytes = System.Text.Encoding.UTF8.GetBytes(MessageSignature);
ありがとうございました。