以编程方式安排 AWS Lambda 一次性执行

2024-01-08

我有两个 AWS-Lambda 函数,我希望 Lambda A 确定某个时间点,例如 2022 年 5 月 4 日 10:00。然后我希望 Lambda B 被安排在这个特定的时间点运行。

我可能可以通过使用 Lambda A 以编程方式创建 AWS eventbrigde 规则并使用 cron 模式来匹配我的时间点来实现此目的。在 Lambda B 内部,我需要删除该规则,因为它是一次性使用的。

你们中有人能想出一种更优雅的方式来实现这一目标吗?

感谢您的智慧!

Edit:

我的时间点是动态的。我调用公共API来找到Lambda B运行的点,所以我不能直接使用EventBridge。我计划每天运行 Lambda A 一次,看看是否有必要运行新的 Lambda B。


[2022 年 11 月编辑]:EventBridge Scheduler

The new 事件桥调度程序 https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html支持一次性时间表 https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html#one-time对于事件。该事件将在您作为计划表达式传递的日期和时间被调用:at(yyyy-mm-ddThh:mm:ss)在boto3中事件调度器 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/scheduler.html#EventBridgeScheduler.Client.create_schedule客户的create_schedule API.


以下是用于安排 Lambda 在任意时间点运行的更多选项:

阶跃函数

三态阶跃函数 https://docs.aws.amazon.com/step-functions/latest/dg/how-step-functions-works.html协调两个 Lambda。 Lambda A 获取并输出时间戳。 A等待状态 https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-wait-state.html等待直到时间戳过去。然后 Lambda B 运行。

这个方法是精确的。注意:标准工作流程 https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html处决的期限长达一年,因此可以承受长时间的等待。

DynamoDB 流 + TTL

创建一个 DynamoDB 表TTL字段 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html and Dynamodb 流 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html已启用。将 Lambda B 设置为流处理器。 Lambda A 将一条记录写入表中,时间戳为 TTL。 TTL 时间戳过去后不久,DynamoDB 将触发 Lambda B。

此方法不会为您提供第一种方法的精度,但如果您有大量事件,则会更便宜。

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

以编程方式安排 AWS Lambda 一次性执行 的相关文章

随机推荐

  • ipython 安装新模块

    我已经习惯了安装软件包的 R 功能 并且我正在尝试使用 R 来做同样的事情ipython 有时以下方法有效 但有时又无效 我想最终找出为什么它只有效一半的时间 通常要安装一个模块 比如requests例如 我会在打开新终端后输入以下内容 s
  • UICollectionView 不会在 RTL 中从右到左填充数据

    我有一个UICollectionView并想要水平显示单元格 例如 用英语 它应该显示 细胞A 细胞B 细胞C 阿拉伯语 它应该显示 细胞C 细胞B 细胞A 对于 RTL UICollectionViewFlowLayout如果每个单元格大
  • PO 文件本地化未按数据注释的预期工作

    我在我的 asp net core 应用程序中使用了 Orchard Localization 启动 cs services AddPortableObjectLocalization options gt options Resource
  • 谷歌应用程序脚本是同步的吗?

    我是一名 Java 开发人员 同时学习 JavaScript 和 Google Apps 脚本 作为新手 我学习了 JavaScript 的语法 而不是它实际上是如何工作的 我很高兴地使用 Google Apps 脚本并按顺序和同步编写代码
  • Ember.JS 中的动态计算属性已弃用?

    我正在尝试制作一个 ember 应用程序 我有一个计算属性 控制器如下所示 The Controller Todos Controller Ember Controller create SNIP countCompleted functi
  • “eval() uating”条件的替代方法

    在我正在处理的遗留代码库中 有一个条件评估器 它接受用户输入来构建条件 然后使用 php eval 在运行时评估此条件 在不使用 eval 的情况下解决此问题的最佳方法是什么 例如我有一个用户在 UI 中输入的条件 1 gt 0 必须对此进
  • 使用 VBA 从 Excel 工作表更新 SQL

    我正在尝试使用 VBA 从 Excel 工作表更新 SQL 中的一些记录 我在 Excel 工作表中有很多记录 所以这就是为什么我想自动化这一点 以下是我要更新 rmn dr 的字段示例 t id 在两个表中都是唯一的 我想使用 Excel
  • ADB 没有响应 - Android Studio

    不要将其标记为重复项 让我解释一下出了什么问题并告诉你我做了什么 所以这是我的问题 当我打开 Android Studio 时 它给我一个错误 如下所示 然后我进入我的 Windows 防火墙设置 这是我所拥有的 如您所见 防火墙已关闭 然
  • 工作节点组未加入 EKS 集群

    我按照这个博客在 AWS 上设置了 open5GS https aws amazon com blogs opensource open source mobile core network implementation on amazon
  • 为什么 simplexml_load_file 相对于主机文件不起作用?

    I have simplexml load file指令放置在包含的 PHP 文件中 但该指令的工作原理取决于我包含此文件的位置 为什么 是否可以相对于放置的文件指令解释相对文件路径 您始终可以使用魔法访问当前文件的完整路径 FILE ht
  • partial_fit Sklearn 的 MLPClassifier

    我一直在尝试使用Sklearn的神经网络MLPClassifier 我有一个大小为 1000 个实例的数据集 具有二进制输出 我想对其应用带有 1 个隐藏层的基本神经网络 问题是我的数据实例并非同时可用 在任何时间点 我只能访问 1 个数据
  • Erlang 进程与 Java 线程

    我在读Sa a Juri 所著的 Elixir in Action 一书 第一章 https manning content s3 amazonaws com download b b915834 e80b 4520 939d ff1900
  • Delphi 中的嵌套属性

    Delphi 有没有办法使用嵌套属性 目前我正在使用Delphi XE 例如 TCompoundAttribute class TCustomAttribute public constructor Create A1 A2 TCustom
  • 有没有办法在函数运行完成后运行其他函数?

    def foo pass def bar print good bay 两个功能如打击 现在我想在 foo run 完成后运行 bar 函数 有没有类似类使用的方法 del 据我所知 在课堂方法中我可以使用 del 就像下面这样 class
  • 在表中存储/检索数组的最佳方法

    我目前在 MySQL 中有一个表可以正常存储值 但我想向该表添加一个字段来存储值数组 例如城市 我应该简单地将该数组存储为 CSV 吗 每行都需要它自己的数组 因此我对创建一个新表并为前一个表中插入的每行插入 2 5 行感到不安 我觉得这种
  • 如何在 JavaFX TableView 中的行悬停时发生某些事情?

    现在 当在表格视图中选择一行时 我会在鼠标位置显示对话框 我希望当我将鼠标悬停在每一行上时显示对话框 似乎有一个 CSS hover 所以我认为它可以以某种方式在 java 代码中捕获 您可以创建一个自定义表行工厂 它将侦听器添加到行的悬停
  • 为什么我不能在 std::vector 中使用抽象类?

    我是从这些问题中得出的 为什么我们不能声明 std vector https stackoverflow com questions 2160920 why cant we declare a stdvectorabstractclass
  • 将 $mysqli 设置为 OOP 的全局变量

    好的 这是一个复杂的问题 但任何帮助或建议将非常感激 所以我正在与一个网站合作 使用 htaccess 将所有流量重定向到load php 对于任何sql功能 我有一个抽象类 它有很多查询语句作为传递参数来定义每个查询的细节的函数 例如 t
  • 如何防止 Netlify 因为 process.env.CI = true 将警告视为错误?

    在 Netlify 上部署新项目开始失败 检查日志 我看到以前成功部署的日志中没有的内容 Treating warnings as errors because process env CI true Most CI servers set
  • 以编程方式安排 AWS Lambda 一次性执行

    我有两个 AWS Lambda 函数 我希望 Lambda A 确定某个时间点 例如 2022 年 5 月 4 日 10 00 然后我希望 Lambda B 被安排在这个特定的时间点运行 我可能可以通过使用 Lambda A 以编程方式创建