34

我的解决方案是使用 Azure 模拟器。我想清除 Azure 存储模拟器Blob队列,而无需执行手动操作。我需要能够从命令行执行此操作,最好是 PowerShell。

Visual Studio 2015 中的服务器资源管理器,Azure 节点:

在此处输入图像描述

AzureStorageEmulator.exe 帮助返回以下命令:

  • AzureStorageEmulator.exe init:初始化模拟器数据库和配置。
  • AzureStorageEmulator.exe start:启动模拟器。
  • AzureStorageEmulator.exe 停止:停止模拟器。
  • AzureStorageEmulator.exe 状态:获取当前模拟器状态。
  • AzureStorageEmulator.exe clear:删除模拟器中的所有数据。
  • AzureStorageEmulator.exe help [command]:显示一般或特定于命令的帮助。

但是,当尝试“清除”时,会返回以下内容:

以下服务已成功清除用户数据:无

4

3 回答 3

72
cd C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator
.\AzureStorageEmulator.exe clear all
于 2016-07-12T13:59:50.000 回答
4

Visual Studio 2022 和 Azurite

  • 它不会使用 SQL 本地服务器,并且所有相关数据都以大型 JSON 文件的形式存储在以下文件夹中

    %userprofile%\AppData\Local\Temp\Azurite

Azurite 模拟器默认位置

  • 当您使用任何需要此功能的项目打开 VS 时,您将在 Visual Studio 服务依赖项窗口中看到 Azurite 服务启动 在此处输入图像描述
  • Azure 存储资源管理器将通过 REST-API 自动连接到这个新模拟器,如果您同时使用旧版模拟器和新模拟器,您正在使用不同的数据集,并且新 Azure 不使用 SQL 服务器
  • 似乎 Azurite 目前必须显式停止和清除命令(3.14.3),如果您无法删除此文件夹,只需关闭 Visual Studio 和存储资源管理器并重试。

Visual Studio 2019 和已弃用的 Azure 存储模拟器

运行“AzureStorageEmulator.exe clear all”和“init”命令通常会挂起(或者可能需要太多时间)

解决方法:可以到如下地址的用户文件夹,删除已有的AzureStorageEmulatorDb510.mdf和ldf文件。(最后后缀510代表模拟器5.10版本)

C:\Users\[YOUR_USER]

如果由于它们被锁定而无法删除它们,请通过运行 AzureStorageEmulator.exe stop 停止 Azure Storage Emulator,然后重试

于 2021-11-29T15:22:41.260 回答
0

如果您使用 Azurite 和 VS2022+,另一种方法是使用 VSCode Durable Functions Monitor扩展来删除模拟器中的集线器。

当我从 VS2022 运行或使用 docker 时,我发现 Purge 和 Clean 操作(来自 VSCode 分机)对 Azurite 都失败了。当我使用真正的 Azure 存储时,它们为我工作。这消除了在删除文件之前必须退出 VS 的烦恼。

在 VSCode Durable Functions Monitor中删除集线器是迄今为止我发现的在另一次调试运行之前重置所有内容的最快方法。

于 2022-01-05T07:53:30.953 回答