当前位置: 首页 > 知识库问答 >
问题:

Azure函数:Blob触发器抛出系统。内存溢出

应和悦
2023-03-14

Blob触发器Azure函数System.OutOfMemoryException异常。当我在本地执行时,它工作正常。

Blog Trigger Azure Function:

public static class ProcessEvent
    {
        [FunctionName(nameof(ProcessEvent))]
        public static async Task Run([BlobTrigger(BlobStorageContainer.Name + "/{name}",
            Connection = "AzureWebJobsStorage")]
            Stream eventBlob, string name,
            [Inject] ILoggingService loggingService,
            [Inject] IEventProcessorService eventProcessor,
            [Inject] IBlobClient blobClient)
        {
            var logger = new Logger(loggingService);
            try
            {
                logger.Info($"Starting blob job tracker for file name {name}",
                    nameof(ProcessEvent));

                var eventContent = eventBlob.ReadAsString();

                var result = await eventProcessor.HandleProcessor(eventContent, logger);

                if (result)
                {
                    await blobClient.DeleteBlobAsync(BlobStorageContainer.Name, name);
                    logger.Info($"Blob deleted successfully file name: {name}");
                }
                else
                {
                    logger.Warning($"Unable to process blob job for file with name: {name}");
                }
            }
            catch (Exception ex)
            {
                logger.Error($"Unable to process blob job for file with name: {name}", ex,
                    nameof(ProcessEvent));
            }
        }
    }

我的应用服务计划:

共有1个答案

文鸣
2023-03-14

它显示过去 24 小时内每个实例的总体物理内存使用百分比。

https://docs.microsoft.com/en-us/azure/app-service/overview-diagnostics#health-检查图

 类似资料:
  • Azure函数存储帐户Blob容器触发器 在我们的一个用例中,我正在为具有以下条件的存储帐户容器中的任何活动寻找Azure函数触发器 < li >具有特定命名约定的容器(名称如xxxx-input) < li >它应该自动检测是否创建了新的容器(具有特定的命名约定) < li>

  • 我使用blob触发器读取blob内容,作为pandas DF进行处理,并将blob附加到我使用的Azure SQL server。 blob触发器没有按预期工作,因此我将main函数中的所有代码都定义为: 但是,我得到了以下错误: 有人可以帮助我找到此问题的原因吗? function.json的配置如下:

  • 如果你使用blob存储触发器阅读Azure WebJobs上的留档,它们会提到这不是很可靠: WebJobs SDK扫描日志文件以查看新的或更改的blob。这个过程不是实时的;在创建blob后的几分钟或更长时间内,函数可能不会被触发。此外,存储日志是在“尽力而为”的基础上创建的;无法保证所有事件都将被捕获。在某些情况下,日志可能会丢失。如果您的应用程序无法接受blob触发器的速度和可靠性限制,建议

  • 我是Azure Function应用程序中blob触发器的新手,需要一些帮助。我正在努力寻找有关如何重命名触发该函数的blob的资源。 我有一个函数应用程序,当一个新的blob被上传到容器时触发,文件被处理,我需要一种方法来将其“标记”为已处理,因此我想重命名blob。 这是我的职责: 我该如何重命名该文件?在这种情况下有可能吗?

  • 我遇到的情况是,Blob可能在第一次处理时失败,但可能在后续执行中工作。 我遇到的问题是关于监控真正的失败,目前第一次失败将抛出一个异常,该异常被记录并发出警报,但如果第一次重试成功完成,那么根据早期警报就没有什么可做的了。 是否有办法查看已发生的重试次数,以便我只能在不再重试时发出警报?

  • 有没有人知道某种方法可以触发具有 Blob 触发器的 Azure 函数?无论是通过API还是使用“测试/运行”功能。 情况是,我需要在测试目的中这样做。目前我看到的是,可以在blob存储中提供要触发的文件的名称。但这是无用的,因为无论如何,将文件放在那里都会触发功能。我想做的是为文件的内容而不是名称提供功能,以避免不必要的操作。 不幸的是,微软在所有相关主题上的留档很差,但这个没有。在这个gith