3

次のように WebClient を使用して、新しい BLOB を Azure Storage countainer に単純にアップロードしようとしています。

var sas = "[a new generated sas with Read, Write, List & Delete permissions]";
var sData = "This is a test!";
var sEndPoint = "http://myaccount.blob.core.windows.net/mycontainer/MyTest.txt" + sas;

var clt = new WebClient();
var res = await clt.UploadStringTaskAsync(sEndPoint, "PUT", sData);

これにより、「(400) Bad Request」が表示されます。エラー。私はここで何か悪いことをしていますか?

ありがとう

(ちなみに、私は Silverlight プロジェクトに参加しているため、クライアント API の代わりに REST を使用する必要があります)

4

2 に答える 2

1

BLOB エミュレーターに対してテストする場合、これを機能させるために必要なコードは次のとおりです。

        var connection = ConfigurationManager.AppSettings["AzureStorageConnectionString"];
        var storageAccount = CloudStorageAccount.Parse(connection);

        var client = new WebClient();
        client.Headers.Add("x-ms-blob-type", "BlockBlob");
        client.Headers.Add("x-ms-version", "2012-02-12");
        client.UploadData(string.Format(@"{0}/$root/{1}{2}", storageAccount.BlobEndpoint, myFileName, sharedAccessSignature), "PUT", _content);
于 2013-05-17T00:32:53.650 に答える