【问题标题】:How to clear Azure Storage Emulator Data from command line?如何从命令行清除 Azure 存储模拟器数据?
【发布时间】:2022-05-06 17:41:57
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: visual-studio azure powershell azure-storage-emulator


    【解决方案1】:
    cd C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator
    .\AzureStorageEmulator.exe clear all
    

    【讨论】:

    • 这个挂在我身上!有人知道如何手动执行此操作吗?
    • 存储模拟器命令行工具的文档位于:docs.microsoft.com/en-us/azure/storage/common/…
    • @JohnNicholas - 停止模拟器。然后删除你windows主目录下的AzureStorageEmulatorDbXXX.mdf/ldf文件。
    • 对于怀疑挂起的人:我跑了很长时间,几分钟。
    【解决方案2】:

    Visual Studio 2022 和 Azurite

    • 它不会像 Legacy Storage Simulator 那样使用 SQL Server,所有相关数据都作为大型 JSON 文件存储在以下文件夹中

      %userprofile%\AppData\Local\Temp\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”命令通常会挂起(或可能需要太多时间)

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

    C:\Users\[YOUR_USER] or %userprofile%
    

    如果由于它们被锁定而无法删除它们,请通过运行 AzureStorageEmulator.exe stop 来停止 Azure 存储模拟器,然后重试,或者干脆将其从其上关闭系统托盘中的图标

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • 那些清除方法没用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-28
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      • 2011-07-04
      • 2011-06-25
      相关资源
      最近更新 更多