Код C #, выполняемый в Mac OS с помощью Visual Studio 2019 для Mac, не может записывать и считывать данные в / из локального эмулятора учетной записи хранилища Azure

#c# #visual-studio-2019 #azure-blob-storage #visual-studio-mac #azure-storage-emulator

#c# #visual-studio-2019 #azure-blob-storage #visual-studio-mac #azure-storage-emulator

Вопрос:

Я использовал следующие две строки подключения в appsettings.json файле для чтения и записи из / в эмулятор хранилища Azure, установленный на моем компьютере Mac:

 "ConnectionString":"UseDevelopmentStorage=true"
  

И

 "ConnectionString":"DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;"
  

В качестве фона я установил Visual Studio 2019 для Mac на новый компьютер Mac. Я предполагаю, что Visual Studio 2019 для Mac, должно быть, уже поставляется с эмулятором. Операционная система Mac — macOS Catalina версии 10.15.6.

Проблема, с которой я сталкиваюсь, заключается в том, что я совершенно не могу записывать или считывать двоичные объекты из эмулятора, и я продолжаю получать сообщение об ошибке «отказано в подключении«. Эта проблема продолжает возникать, несмотря на то, что Microsoft Azure Storage Explorer, установленный на компьютере Mac, успешно взаимодействует с эмулятором, отображает все большие двоичные объекты, выполняет запись и чтение в / из хранилища.

Чего не хватает в моей конфигурации строки подключения или что еще я должен сделать на своем компьютере Mac, чтобы код C # считывался и записывался из / в эмулятор хранилища.

Комментарии:

1. Предположение: правила брандмауэра.

2. Действительно ли эмулятор хранилища запущен? Что вы получаете, когда запускаете это в командной строке: azurestorageemulator status ? Возможно, вам потребуется запустить это из правильной папки, например C:Program Files (x86)Microsoft SDKsAzureStorage Emulator , но версии Mac.

3. Ни проблема с брандмауэром, ни что-либо еще. Итог, как я уже сказал, Azure Storage Explorer может отлично взаимодействовать с эмулятором

Ответ №1:

Эмулятор хранилища Azure работает только в Windows и устарел. Другие платформы используют Azurite, но интеграция с Visual Studio не завершена, поэтому вам придется запускать его вручную:

https://github.com/Azure/Azure-Functions/issues/1343#issuecomment-678536378

Все это было обнаружено за 5 минут после консультации с MSDN и использования Google.

Комментарии:

1. Однако есть одна загвоздка. Запуск Azurite через VS Code не сработал, и мне пришлось использовать npm для его установки и запуска.