1.我们在本地开发如果没有Azure 账户及blob资源,可以在本地调试开发
所需工具下载:Azure 存储管理器下载可以在本地创建容器Container及Blob 上传所需文件对文件进行操作 也可以管理Azure云的Blob
Azure 存储资源管理器 – 云存储管理 | Microsoft Azure
2.打开后创建本地Blob存储
3.本地端口可以为空
3. 点击local blob创建blob
以上创建的必须配合Azurite仿真存储器使用否则无法本地调试 下面下载仿真器
4.下载Vs2022自带的Azure 存储模拟器
使用 Azurite 模拟器进行本地 Azure 存储开发 | Microsoft Docs
5.启动仿真器
可以在 Visual Studio 安装的扩展文件夹中找到 Azurite 可执行文件。 具体位置根据安装的 Visual Studio 版本而有所不同。 例如,如果已在 Windows 计算机或虚拟机 (VM) 上安装 Visual Studio 2022 专业版,可在此位置找到 Azurite 可执行文件:C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\Extensions\Microsoft\Azure Storage Emulator
。
运行可执行文件后,Azurite 将侦听连接。
6.CMD命令 下启动如下:
8.此时我们可以在创建的本地存储器查看Blob等信息并且创建文件目录和上传文件
如果本地账户的容器一直打不开并且爆错误,建议重启机器然后分离右键分离所有容器重新创建一个
我本地Blob容器名称叫myblob 点击上传文件 也可以在本地blob创建指定的文件夹我创建的文件夹为Data 然后上传ExcelData本地文件夹的文件
9. 配置连接AzureClient的连接字符串信息
点击本地存储器配置的名称local-1 左下角有显示连接字符串信息
10.复制此信息配置到appsetting.json,连接信息包含blob账户名,AccountName,AccountKey
BlobEndpoint,QueueEndpoint,TableEndpoint等信息
11. 本地调试代码:
BlobService:
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestAzure.AzureCore.AzureBlob
{
/// <summary>
/// Azure Blob 扩展服务方法
/// </summary>
public class BlobService : IBlobService
{
private readonly BlobServiceClient _blobServiceClient;
private readonly IConfiguration _configuration;
private string _azureStorageConnectStr;
private string _containerName;
public BlobService(BlobServiceClient blobServiceClient, IConfiguration configuration)
{
this._blobServiceClient = blobServiceClient;
_configuration = configuration;
_azureStorageConnectStr = _configuration.GetSection("AZURE_STORAGE_CONNECTION_STRING").Value;
_containerName = _configuration.GetSection("AzureContainerName").Value;
}
//public void InitBlobClientConfig(IConfiguration configuration)
//{
// _azureStorageConnectStr = _configuration.GetSection("AZURE_STORAGE_CONNECTION_STRING").Value;
// _containerName = _configuration.GetSe