0

次のスレッドを参照した後に書いた次のコードを使用しています - Azure クラウド アプリで BLOB リース機能を使用する

    public static void UploadFromStreamWithLease(CloudBlob blob, Stream src, string leaseID)
    {
        string url = blob.Uri.ToString();
        if (blob.ServiceClient.Credentials.NeedsTransformUri)
        {
            url = blob.ServiceClient.Credentials.TransformUri(url);
        }

        HttpWebRequest req = BlobRequest.Put(new Uri(url), 90, blob.Properties, BlobType.BlockBlob, leaseID, 0);
        BlobRequest.AddMetadata(req, blob.Metadata);
        using (var writer = new StreamWriter(req.GetRequestStream()))
        {
            byte[] content = new byte[src.Length];
            writer.Write(readFully(src));
        }
        blob.ServiceClient.Credentials.SignRequest(req);
        req.GetResponse().Close();
    }

上記の readFully() メソッドは、コンテンツをストリームから byte[] 配列に取得するだけです。

このコードを使用して、有効な leaseId を持つ任意の BLOB にいくつかのものをアップロードしています。Azure SDK のバージョン 1.4 に移行するまで、これは正常に機能していました。Azure SDK の新しいバージョンでは、req.GetResponse() メソッドでエラー 400 が発生します。

これを台無しにしている azure SDK 1.4 の変更点を誰か指摘してもらえますか?

ありがとうカピル

4

1 に答える 1