Функция Azure не может получить контейнер больших двоичных объектов

#azure #azure-functions #azure-blob-storage

#azure #azure-функции #azure-blob-storage

Вопрос:

У меня есть функциональное приложение, которое подключается к blob, считывает содержимое файла и отправляет содержимое в API. Функция отлично работает при отладке из Visual Studio. Проблема, с которой я сталкиваюсь, заключается в том, что она не работает из Azure при развертывании. Ошибка, которую я получаю, заключается в:

 Exception while executing function: MyFunctionManager
  

Идентификатор проблемы: System.Исключение ArgumentNullException в MYFUNCTION.FA.FileManager.BlobContainerManager.GetCloudBlobContainer

Похоже, не удается подключиться и найти хранилище больших двоичных объектов. В коде я получаю контейнер, используя строку подключения, установленную в local.settings.json:

      public static CloudBlobContainer GetCloudBlobContainer(string blobContainer)
    {
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
            App.Settings.AzureFileStorageConnectionString);
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer container = blobClient.GetContainerReference(blobContainer);
        container.CreateIfNotExistsAsync();
        return container;
    }
  

Приветствуется любая помощь

Спасибо

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

1. В сообщении об ошибке указано, что ваш blobContainer параметр равен null. Как вы получаете имя контейнера?

Ответ №1:

local.settings.json Файл предназначен только для локальной разработки.

При запуске в Azure убедитесь, что у вас есть настройка приложения с ключом AzureFileStorageConnectionString и значением для строки подключения вашей учетной записи хранения.

И вам также придется сделать то же самое для имени контейнера, поскольку вы упомянули, что получаете его из настроек приложения.