单例时间跨多个区域触发 Azure Function

2024-02-17

我有一个时间触发的 Azure 函数部署在多个区域中,我希望在它们之间具有单例行为。例如,如果这些区域是美国西部和欧洲中部,我希望每次只运行其中一个区域。这能实现吗?

As the 文档 https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer#scale-out说,TimeTrigger 隐式使用 Singleton 属性来确保每个主机仅运行一个函数实例,从而涵盖了这一方面。

为了在所有区域具有相同的行为,我尝试使用具有以下参数的 Singleton:

[Singleton(Account = "myAccount", Mode = SingletonMode.Listener)]

我通过复制 C# 解决方案并运行这两个项目在本地进行了测试。显示以下错误:

The listener for function 'MyFunction' was unable to start. 
Microsoft.Azure.WebJobs.Host.Storage: Must replace singleton lease manager to 
support multiple accounts.

我没有找到有关的信息Account属性比 Singleton 类的元数据更多,也就是说Gets the name of the Azure Storage account that the blob lease should be created in。我不知道该函数如何知道如何连接到存储以及在哪里配置连接。


我相信Account的财产[Singleton]属性是指应用程序设置的名称,而不是实际存储帐户的名称。如果未指定,则假定由指定的存储帐户AzureWebJobsStorage应用程序设置。您在此处引用的应用程序设置需要包含完整的存储连接字符串。

请注意,如果您想要跨区域单例行为,应用程序的所有副本都需要使用相同的存储帐户(显然可以位于其他某个区域)。我预计会有一些与此相关的出口费用,但希望不足以产生太大影响。不过,需要注意一些事情。

UPDATE:

关于您遇到的错误消息,事实证明 Functions 2.0 中的此功能实际上存在问题。最近发布了一个新的 GitHub 问题来跟踪该问题:https://github.com/Azure/azure-webjobs-sdk/issues/2214 https://github.com/Azure/azure-webjobs-sdk/issues/2214。它还指出了一个临时解决方法,即您可以注册自己的IDistributedLockManager实现,如测试代码所示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单例时间跨多个区域触发 Azure Function 的相关文章

随机推荐

  • 我可以使用 jQuery 淡入背景图像(CSS:background-image)吗?

    我有一个div包含文本和背景图像的元素 通过 CSS 属性设置background image 是否可以通过 jQuery 淡入背景图像 div background repeat no repeat background position
  • 使用当前年份将月日('%B %d')日期列解析为日期时间

    我有一个采用以下格式的专栏 Date June 22 June 23 June 24 June 25 我正在尝试将此列转换为 pandas df 中的日期时间 格式为 YYYY mm dd 我怎样才能做到这一点 我能够格式化日期并转换为 m
  • 德尔福64位? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 手动将mysql查询结果缓存到txt文件

    有没有办法手动将mysql查询结果缓存到txt文件中 Ex a 1 b 9 c 0 cache filename cached results md5 a b c txt if file exists cache filename resu
  • ebpf - 根据内核版本使用ringbuf和perfbuf

    我正在使用 ebpf 来捕获进程创建 我对内核 5 8 及更高版本使用ringbuf 并希望在同一 ebpf 内核文件中对旧内核使用 perfbuf 有一个关于它的很棒的博客https nakryiko com posts bpf core
  • 无法使用 html 文本框登录

    因为我使用html按钮和文本框来登录 所以我必须在源代码中的javascript中执行后面的代码才能执行后面的代码 无论我使用正确的用户名和密码 Admin 和 123 登录并单击登录按钮 还是不输入任何内容并单击登录按钮 它总是将我重定向
  • 如何删除文件中的第一行?

    我无法搜索特定的字符串 因为它们都非常相似 但我想要一些简单的方法来删除文件中的前 4 行 它们的长度也都是可变的 我考虑过 Perl 这一切似乎比我想象的要难 但如果可能的话 我想用 Perl AWK 或 shell 命令来完成 有人有一
  • 滚动时更改网址

    当我单击导航按钮时 我使用 jQuery 更改 URL 哈希 但是当我使用鼠标滚轮滚动时 URL 不会改变 我怎样才能做到这一点 如何使用它来完成 window history pushState object or string Titl
  • Twitter API 是否可以缩短 url?

    有没有办法从 API 获取缩短的 t co 网址 在通过 API 发布推文之前 我需要缩短一个 url 我应该怎么做 这 这是 Twitter API 支持的还是我必须使用其他一些 像 bit ly 这样的 url 缩短器 除了通过 Twi
  • Rails 验证搜索参数

    我有一个相当安静的 API 但正在努力弄清楚如何干净地实现搜索 我希望能够搜索两个日期时间之间的所有记录 日期时间最多允许相隔 6 小时 目前在我的控制器方法中我有以下内容 required params start time end ti
  • DatatypeProperty、ObjectProperty 和FunctionalProperty 之间有什么区别,什么时候应该使用它们?

    在编写本体时 有几种非常常用的类型 包括 数据类型属性 对象属性 功能特性 反函数性质 前三个看起来像是以一组特定的方式使用 但我发现我对它们的想法受到了我在 FOAF 中的使用方式的挑战 它们分别在什么时候应该使用或者什么时候不应该使用
  • 使用 OpenSSL 相互身份验证始终成功

    我正在使用 openssl 和 zmq 编写服务器和客户端 我的客户端和服务器需要相互身份验证 但我设置后SSL CTX set verify ssl ctx SSL VERIFY FAIL IF NO PEER CERT NULL 在服务
  • 隐式将 List 转换为 List

    我正在使用 Linq to Entities 有一个实体 Order 其中有一个可为空的列 SplOrderID 我查询我的订单列表为 List
  • 无法从 nginx 获取第一个请求的 uid

    我已经在 nginx 中安装了 uid 模块 还添加了与 uid 相关的配置 userid on userid name uid userid expires 365d userid p3p policyref w3c p3p xml CP
  • 如何从基类(非抽象类)调用重载函数?

    DVD类继承了Media类 比基类多了一个变量 我声明一个指针 Media ptr new DVD 我想打印出 DVD 的内容 因此以下代码可以按预期工作 ptr gt print cout 但是使用重载的 cout lt lt ptr l
  • 如何在张量流中按元素方式将张量的每一行乘以其余行

    我有一个像这样的张量 tf docs tf constant 0 2 1 1 2 2 2 1 3 5 2 2 dtype tf int32 我需要按元素将每一行乘以其余行 然后对结果求和 完成第一行后 我们将处理第二行和其余行 然后 所以结
  • 无点动态函数组合

    我正在尝试将这个函数重构为无意义的 function siblings me return R pipe family R reject equalsMe me me 我想通过me到管道中的函数以及值family返回 尝试了一些事情R us
  • 使用带有 Pathogen 的 .vim 插件

    我想使用 lustyjuggler 和 lustyExplorer 它们是 vim 插件 但我希望我们的 Pathogen 来管理它们 通常我解压 vim 插件 整个文件夹结构进入 vim bundle 但对于 lustyJuggler 和
  • 从另一个基于应用程序的类继承 UWP 应用程序类时,名称“AppClass”不存在于命名空间“...”中

    我想要实现的只是继承 UWP App 类 而不是从 Windows UI Xaml Application 类继承 而是从某个基类继承 从 标准 类继承 但是 当我这样做时 namespace MyNamespace sealed part
  • 单例时间跨多个区域触发 Azure Function

    我有一个时间触发的 Azure 函数部署在多个区域中 我希望在它们之间具有单例行为 例如 如果这些区域是美国西部和欧洲中部 我希望每次只运行其中一个区域 这能实现吗 As the 文档 https learn microsoft com e