Как очистить данные эмулятора хранилища Azure из командной строки?
Мое решение - использовать эмулятор Azure. Я хотел бы очистить BLOB-объекты, очереди и таблицы эмулятора хранилища Azure, не выполняя ручных действий. Я должен быть в состоянии сделать это из командной строки, предпочтительно PowerShell.
Обозреватель серверов в Visual Studio 2015, Azure-узел:
Справка AzureStorageEmulator.exe возвращает следующие команды:
- AzureStorageEmulator.exe init: инициализация базы данных и конфигурации эмулятора.
- Запуск AzureStorageEmulator.exe: Запустите эмулятор.
- AzureStorageEmulator.exe stop: остановить эмулятор.
- Состояние AzureStorageEmulator.exe: получение текущего статуса эмулятора.
- AzureStorageEmulator.exe очистить: удалить все данные в эмуляторе.
- Справка AzureStorageEmulator.exe [команда]: Показать справку общего характера или команды.
Однако при попытке "очистить" возвращается следующее:
Следующие сервисы были успешно очищены от пользовательских данных: Нет
3 ответа
Ops! Моя ошибка, правильная команда:
C: \ Program Files (x86) \ Microsoft SDK \Azure\Storage Emulator
.\AzureStorageEmulator.exe clear all
Visual Studio 2022 и Азурите
он не будет использовать локальный сервер SQL, и все связанные данные хранятся в виде большого файла JSON в следующей папке.
%userprofile%\AppData\Local\Temp\Azurite
- вы увидите запуск служб Azurite в окне зависимостей служб Visual Studio, когда вы открываете VS с любым проектом, который в этом нуждается .
- Azure Storage Explorer будет автоматически подключаться к этому новому эмулятору ЧЕРЕЗ REST-API, и если вы иногда настраиваете устаревший эмулятор и новый эмулятор, вы работаете с разными наборами данных. и New Azure не используют SQL-сервер
- похоже, что на данный момент Азурите необходимо явно остановить и очистить команду (3.14.3), и если вы не можете удалить эту папку, просто закройте Visual Studio и Storage Explorer и повторите попытку.
Visual Studio 2019 и устаревший эмулятор хранилища Azure
Выполнение команды «AzureStorageEmulator.exe очистить все» и «init» обычно зависает (или может занять слишком много времени)
решение: вы можете перейти в папку пользователя по следующему адресу и удалить существующие файлы AzureStorageEmulatorDb510.mdf и ldf (последний суффикс 510 означает версию 5.10 эмулятора)
C:\Users\[YOUR_USER]
если вы не можете удалить их из-за того, что они заблокированы, остановите эмулятор хранилища Azure, запустив AzureStorageEmulator.exe stop и повторите попытку.
Альтернативный подход, если вы используете Azurite и VS2022+, заключается в использовании расширения VSCode для удаления концентратора в эмуляторе.
Я обнаружил, что операции Purge и Clean (из VSCode ext.) не сработали с Azurite как при запуске из VS2022, так и при использовании докера. Они работают для меня, когда я использую настоящее хранилище Azure. Это устраняет необходимость выхода из VS, прежде чем вы сможете удалить файлы.
Удаление концентратора в VSCode Durable Functions MonitorDurable Functions Monitor — это, безусловно, самый быстрый способ, который я нашел до сих пор, чтобы сбросить все перед новым запуском отладки.