#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
и значением для строки подключения вашей учетной записи хранения.
И вам также придется сделать то же самое для имени контейнера, поскольку вы упомянули, что получаете его из настроек приложения.