c# を使用して、新しいリソースの共有アクセス署名を作成しています (ストレージ アカウントに新しいリソースを作成するには、ユーザーに作成権限が必要です)。MS のドキュメントは古くなっているため、私が経験したさまざまなブログ投稿を使用して動作させることができないようです。
現在、私のコードは次のようになっています。
public static string GetBlobSharedAccessSignitureUrl(CloudBlobContainer container,string nameOfBlobToCreateSaSfor)
{
var blob = container.GetBlockBlobReference(nameOfBlobToCreateSaSfor);
var policy = new SharedAccessBlobPolicy
{
SharedAccessExpiryTime = DateTime.Now.AddHours(1),
Permissions = SharedAccessBlobPermissions.Write | SharedAccessBlobPermissions.Read
};
container.GetSharedAccessSignature(policy);
string sas = blob.GetSharedAccessSignature(policy);
return blob.Uri.AbsoluteUri + sas;
}
そして返されたURL(私のローカルマシン用)は次のようになります(正しいようです)
http://127.0.0.1:10000/devstoreaccount1/photos/photos_4.jpg?sv=2012-02-12&se=2013-01-20T10%3A13%3A17Z&sr=b&sp=rw&sig=xxx
Azure ストレージ シミュレーターを起動し、フィドラーを介してこの URL に POST しようとしました (PUT も試しました)
エラーが発生します ( 404 または 400 、試したこの関数の別のコードによって異なります)
他に何かする必要がありますか?(古い例では、事前にその場所にリソースを作成するのを見ました-これも試しましたが、どちらも機能しませんでした...)
Azure SDK のバージョンは 2.0 であるため、2012 年 10 月より前の MS ブログの投稿 (およびその他のチュートリアル) は壊れています (MS dev ブログによるとhttp://blogs.msdn.com/b/windowsazurestorage/archive/2012/10/29/windows -azure-storage-client-library-2-0-breaking-changes-amp-migration-guide.aspx )
任意の助けをいただければ幸いです