c# - 在多个 azure 函数实例之间共享一个对象实例
问题描述
我遇到的情况是,我需要在 Azure Function 的多个实例之间共享一个对象的一个实例。原因是对象内部保存了我需要的一些状态,它是外部库,所以我需要使用它,没有解决方法。这是否可以通过持久的 Azure 功能以某种方式实现?拥有一个由队列触发器或 http 触发器触发的函数,并且该函数将具有该单例实例,并调用常规 azure 函数?那什么时候会关闭那个“主要”功能呢?
干杯
解决方案
在函数之间共享实例是不可能的。这些函数在不同的机器上运行,它们只是无法获得对谁知道在哪里的内存位置的引用。
您标记的 azure-durable-function 也不是您真正需要的解决方案。它不会永远存储真正的单例,它只是存储和恢复你的函数执行的内容和得到的内容。某些单例中的实际数据会丢失。它存储状态的方式是通过表/博客存储。
所以本质上,如果你在函数之间共享状态(或者甚至是你需要保持在同一个函数中的状态),你唯一的方法就是使用某种你可以依赖的持久存储。所以,blob 存储、表、redis、sql 等等。
推荐阅读
- r - 如何在 R 中舍入数据帧的数字以保留总和?
- python - 如何在 python 中修复“IndexError:单个位置索引器越界”?
- mysql - MySQL get rows starting with specific id after sort / order by
- lua - 如何修复 eof 附近的最终预期错误
- javascript - "
" 不是从 "./path" 导出的 - c - 在单个链表中插入字符串
- swift - 锻炼崩溃后未调用 WatchOS6 handleActiveWorkoutRecovery
- javascript - 用空对象填充数组
- c# - 实体框架 | 错误:InvalidCastException:System.Int32 类型的字段必须是字符串、数组或 ICollection 类型
- php - 找不到 php 运行时。安装 php7 运行时并在 php 中更新“executablepath”