#azure #powershell #azure-functions #out-of-memory #azure-blob-storage
#azure #powershell #azure-функции #нехватка памяти #azure-blob-хранилище
Вопрос:
У меня есть ядро Azure Functions Powershell, как показано ниже:
# Input bindings are passed in via param block.
param([byte[]] $InputBlob, $TriggerMetadata)
# Write out the blob name and size to the information log.
Write-Host "PowerShell Blob trigger function Processed blob! Name: $($TriggerMetadata.Name) Size: $($InputBlob.Length) bytes Uri: $($TriggerMetadata.Uri)"
Используя триггер больших двоичных объектов, я хочу прочитать образы VDH OS с помощью Powershell из Azure Blob и преобразовать их на управляемый диск. Размер изображения составляет 30 ГБ. Когда функция запускается, я получаю систему.Исключение OutOfMemoryException ниже:
2020-09-07T09:52:44.704 [Error] Executed 'Functions.BlobTrigger1' (Failed, Id=93b00718-9941-4379-abd0-348137cdcff2, Duration=56449ms)Exception of type 'System.OutOfMemoryException' was thrown.
2020-09-07T09:52:45.061 [Information] Stopping JobHost
Я увеличил план приложения, чтобы иметь 14 ГБ памяти, но я получил то же исключение из памяти.
Когда я выполняю эту операцию непосредственно из облачной оболочки, я получаю успех, но моя главная цель — автоматизировать сценарий с помощью триггера больших двоичных объектов.
У вас есть какие-либо советы?
Ответ №1:
Проверьте конфигурацию платформы приложения-функции :
Функция -> Конфигурация -> Общие настройки -> Платформа
32-разрядная версия будет иметь меньше личных байтов и может вызывать исключения нехватки памяти, даже если у экземпляра намного больше возможностей.
Если это ваш случай, рекомендуем вам перейти на 64-разрядную версию.
Комментарии:
1. с планом потребления я все еще получаю исключения нехватки памяти. С планом приложения на 14 ГБ у меня теперь есть [ошибка], выполняемые ‘Функции. BlobTrigger1’ (сбой, Идентификатор = 5a9b8ae0-3fbb-40fa-9797-488319c15384, длительность = 88405 мс) Поток был слишком длинным.
2. Почему этот ответ не популярен, это решило нашу большую проблему! Большое спасибо! Мы вставляем 1 миллион объектов с 50 свойствами каждый — успешно запущенный в локальном консольном приложении, но всегда сбой в функции Azure. обновлен до 64-разрядной версии, и все работает гладко