无法访问Azure仿真程序中的Blob

dm7nw8vv  于 2023-01-02  发布在  其他
关注(0)|答案(1)|浏览(149)

有些计算机连接到Azure Emulator blob,而有些计算机没有连接,我无法区分两者之间的区别。
代码是下载blob数据的过程。遇到了以下错误。

  • 错误:服务不可用Microsoft。Azure。存储。存储异常:服务不可用 *

代码如下所示

CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(connectionString);
    CloudBlobClient blobClient = cloudStorageAccount.CreateCloudBlobClient();
    CloudBlobContainer container = blobClient.GetContainerReference(containerName);
    CloudBlockBlob blob = container.GetBlockBlobReference(filepath);
    blob.DownloadToStreamAsync(st)

我们认为,这不是代码或存储构建方式的问题,因为我们知道,有些计算机在使用相同的代码时不会出错。
Emulator是Microsoft Azure Emulator,开发环境是VisualStudio 2019,存储本身可以访问,但在VisualStudio中调试时不连接。
我想知道VisualStudio中是否有一些设置,我正在寻找它,但它已经停滞了大约一个星期,我遇到了麻烦。
我们想知道任何可能的原因。这是一个公司活动,有代理服务器等。模拟器是本地的,所以我认为它不会受到影响。
·避免代理。·确认已使用VisualStudio的CloudExplorer连接Blob存储。·确认VisualStudio CloudExplorer可以将文件上载到Blob存储。·确认StorageAccount等正确。

o2g1uqev

o2g1uqev1#

根据MS-DOCS,用于开发和测试的Azure存储模拟器是**deprecated。因此,Microsoft建议你使用Azurite模拟器进行Azure存储的本地开发。
对于
Azure Functions or ASP.NET projects**,自动启动Azurit。对于.NET Console Apps,没有自动运行Azurit的选项。我们需要从命令提示符手动启动它。

C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator\

如果你需要通过visual studio从azure blob存储中下载文件,你可以使用Azure-storage-blob- 12.14.1 NuGet包。

    • 代码:**
using Azure.Storage.Blobs;

    class program
    {
         public static void Main()
        {
            var connectionString = <Connection string>;
            var downloadPath = "< path of folder upto filename >";
            var containerName = "test";
            var blobName = "file.json";
            using Stream file = File.OpenWrite(Path.Combine(downloadPath));
            BlobClient blobClient = new BlobClient(connectionString,containerName,blobName);
            blobClient.DownloadTo(file);
            Console.WriteLine("file downloaded");
        }
    }
    • 控制台:**

相关问题