gpt4 book ai didi

c# - 从 WindowsAzure.Storage 迁移到 Azure.Storage 包时引用 CloudStorageAccount 中的服务

转载 作者:行者123 更新时间:2023-12-02 22:50:15 28 4
gpt4 key购买 nike

我有一个代码库,它广泛使用 WindowsAzure.Storage nuget 包来访问队列、表和 Blob。该包现已标记为已弃用,并指示该功能已分解为 Azure.Storage 包集下的各个组件。

This StackOverflow question and answer提供了替换包的一些描述,但尚不清楚重组完成了多少,以及此时需要迁移哪些旧包和新包的组合。

我无法找到任何最新的迁移指南,并且新软件包的示例代码/文档往往侧重于基本操作。

具体来说,我无法从顶级存储帐户访问新服务。

当前代码使用这样的模式...

    var accountName = "...";
var accountKey ="..............";
var credentials = new StorageCredentials(accountName, accountKey);
var account = new CloudStorageAccount(credentials,true);

//for table access...
var client = account.CreateCloudTableClient();
var table = client.GetTableReference(tableName);

//for queue access
var client = account.CreateCloudQueueClient();
var queue = client.GetQueueReference(queueName);

//for blob access
var client = account.CreateCloudBlobClient();
var container = client.GetContainerReference(containerName);
var blob = container.GetBlockBlobReference(path);

使用新软件包的等效内容是什么以及我需要什么软件包组合?

最佳答案

您将需要 3 个独立的 Nuget 包:

  1. Azure.Storage.Blobs :用于管理 blob
  2. Azure.Storage.Queues :用于管理队列和
  3. Microsoft.Azure.Cosmos.Table :用于管理表。

就创建 CloudStorageAccount 实例而言,它在 Azure.Storage.Blobs 和 Azure.Storage.Queues 中不可用。你将不得不以不同的方式处理它。对于表,CloudStorageAccount 可在 Microsoft.Azure.Cosmos.Table 命名空间中使用。

例如旧SDK中的以下代码

var container = client.GetContainerReference(containerName);
var blob = container.GetBlockBlobReference(path);

需要更改为:

var blobContainerClient = new BlobContainerClient(connectionString, containerName);//Use this client to perform operations on blob container.
var blockBlobClient = blobContainerClient.GetBlockBlobClient(blobName);//Use this client to perform operations on block blob.

关于c# - 从 WindowsAzure.Storage 迁移到 Azure.Storage 包时引用 CloudStorageAccount 中的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62573672/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com