【发布时间】:2022-01-21 23:54:24
【问题描述】:
我有这个测试代码,它使用相同的凭据以两种方式连接到 Azure Blob 存储,一次使用现已弃用的 WindowsAzure.Storage 包,一次使用新的 Azure.Storage.Blobs 包:
using Azure.Storage.Blobs;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using NUnit.Framework;
using System.Linq;
namespace EntityFrameworkTest
{
public class AzureBlobStorageTests
{
[Test]
public void TestStorage()
{
string storageAccount = "MyConnectionString";
string containerName = "testazureblobobjectstore";
var clientNew = new BlobServiceClient(storageAccount);
var containerNew = clientNew.GetBlobContainerClient(containerName);
containerNew.CreateIfNotExists();
var blobsListNew = containerNew.GetBlobs();
var accountOld = CloudStorageAccount.Parse(storageAccount);
var clientOld = accountOld.CreateCloudBlobClient();
var containerOld = clientOld.GetContainerReference(containerName);
containerOld.CreateIfNotExistsAsync().GetAwaiter().GetResult();
BlobContinuationToken config = new BlobContinuationToken();
var blobsListOld = containerOld.ListBlobsSegmentedAsync(config).GetAwaiter().GetResult().Results;
Assert.AreEqual(blobsListOld.Count(), blobsListNew.Count());
}
}
}
两个列表的长度不同:
在blobsListOld我有2个项目:
- 目录
- 一个名为
__id__foo的BlockBlob。
在blobsListNew我有3个项目,都是BlockBlobs,名字如下:
//||!@#$%^&*()_-=+[]'<>~;:`?/||!@#$%^&*()_-=+[]'<>~;:`?-
__id__foo。
谁能给我解释一下?
【问题讨论】: