问题标签 [aws-event-bridge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2462 浏览

amazon-web-services - Cron 表达式 Aws 在 EventBridge(Cloudwatch 触发器)启用后每 5 分钟运行一次

我已经看过几个示例,所有示例都只是在特定时间触发一项工作,我现在有: 0 */5 * ? * * 它在 0、5、10 分钟等触发。但是,我需要触发器在触发器启用的 +5 时刻运行。

因此,如果服务在下午 12:07 启用,我需要它在下午 12:12 开始运行。有没有办法做到这一点?

0 投票
3 回答
1288 浏览

aws-lambda - 是否可以在 lambda 上设置多个事件桥规则?

我想根据不同的规则触发单个 lambda。我可以在 lambda 上设置多个事件规则吗?类似于以下内容:

我发现这个https://www.serverless.com/framework/docs/providers/aws/events/event-bridge/ 似乎表明它是可能的,但我似乎无法让它工作。

我收到以下错误:

0 投票
1 回答
1031 浏览

amazon-web-services - AWS EventBridge 作为 Lambda 目标

我有两个 Lambda 函数,一个 EventProducer 和一个 EventConsumer。所需的场景如下:EventProducer 在自定义 AWS EventBridge 总线中添加一个事件,而 EventConsumer 读取该事件。

我想使用 Lambda 目标来实现这一点,但 EventBridge 似乎没有工作。我已经设法通过显式调用“AmazonEventBridge::putEvent”来推送我的事件来使消费者可以使用事件,但我没有通过返回输出和发送输出来做到这一点。

如果我使用 Lambda 或 SQS 作为目标,而不是 EventBridge,则该代码有效。当我使用 AWS CLI 发送消息时,消费者也会读取它们。

有没有人有一个使用 Lambda 目标从 Lambda 函数推送 EventBridge 中的事件的工作示例?

我的代码如下:

0 投票
1 回答
117 浏览

amazon-web-services - 部署后带有计划事件的 Lambda 函数行为

因此,首先,我使用这样的配置部署我的功能以进行调试

然后,我决定将计划费率更改为1 天

我有两个问题:

  • 是从部署那一刻起每天调用事件还是从最后 10 分钟触发?
  • 下次部署后,事件的执行时间保持不变,还是从部署时开始?
0 投票
1 回答
620 浏览

amazon-web-services - 如何从 EventBridge 定位 http api 网关或 ALB

我需要将数据从 1 个 ecs 容器发送到另一个。我怎样才能做到这一点?AWS EventBridge 允许我将数据从 ECS 容器发送到 EventBridge。但我不知道如何将这些数据从 EventBridge 发送到另一个 ECS 容器。

PS 我有在 ECS 容器中运行的节点应用程序。我正在使用 HTTP API 网关和应用程序负载均衡器 (ALB)

回答评论中提出的问题

  • 什么样的数据?文本数据
  • 一个味精有多大?小的。只是简单的对象
  • 它是否必须是实时的?不
0 投票
1 回答
3106 浏览

amazon-web-services - 如何将 AWS Eventbridge 连接到 SNS 主题

我想要一个 SNS 主题来触发一个 Eventbridge 事件,这样我就可以调用一个 ECS 任务。我尝试将 Eventbridge 规则连接到 SNS 主题,如下所示(这是我的 eventbridge 规则的事件模式):

但是,当我向该主题发布消息时,不会触发 Eventbridge 规则。我试图看看其他人是否有这个问题,但一直找不到任何东西。我该如何解决这个问题?

0 投票
2 回答
1150 浏览

amazon-sns - EventBridge 消息未发布到 SNS

我将 AWS EventBridge 配置为将事件发布到 SNS 目标。当接收到事件时,SNS 目标永远不会被触发,并且没有任何 SNS 订阅者获得该事件。

如果我将其他目标添加到 EventBridge,它可以工作(例如 Lambda),但 SNS 不能。向 SQS 添加死信队列表明存在权限问题:

SQS 错误

但是,更改 SNS 的访问策略不起作用。

0 投票
0 回答
1078 浏览

amazon-web-services - 如何从 EventBridge 规则中定义阶跃函数执行名称?

我正在使用 EventBridge 来触发阶跃函数。CloudFormation 模板中的我的 EventBridge 规则如下所示:

不幸的是,在这种情况下,步进函数“执行名称”是随机生成的,因此很难将特定事件链接到特定的步进函数执行。在我的事件中,我有一个属性$.detail.id$.detail.state我希望能够使用这些属性以格式发出步骤函数执行名称${detail.id}_${detail.state}_someRandomValueToGuaranteeNameUniqueness,但是阅读有关规则目标的文档我不知道这将如何工作......

0 投票
1 回答
761 浏览

amazon-web-services - 如何使用 AWS Event Bridge Schema Registry 验证传入的 JSON

我正在尝试将传入的 JSON 事件验证到 AWS 事件桥中。

我遵循了有关如何下载代码绑定的文档。一切正常。

我还使用模式发现测试了事件桥,它工作正常,并使用 Firehose 作为目标将我的数据放置到正确的目标。

我想要实现的是能够验证带有模式注册表中现有模式的事件 json。然而,这个关于常见问题的文档有问题;

架构注册表如何减少我需要编写的代码量?

说:

首先,您可以使用模式发现来自动识别发送到 EventBridge 事件总线的任何事件的模式,并将它们存储在注册表中,从而使您不必手动管理事件模式。其次,当您编写处理总线上的事件的应用程序时,您可以为此模式生成和下载代码绑定,这样您就可以直接在代码中使用强类型对象。这为您的事件处理程序节省了反序列化、验证和猜测的开销。

但是,在我的事件处理程序 fn 中,我看不到这是怎么可能的,除非我安装了一个外部 json 模式验证器(类似于我之前所做的,但只是在来自 Kinesis Firehose 的 lambda 转换 fn 中)。

我认为如果在事件中提供了特定版本的模式,模式验证会自行发生。

有没有办法做到这一点?

0 投票
1 回答
679 浏览

json - 使用 EventBridge 输入转换器时如何从状态机输出中提取属性

我无法使用 EventBridge 服务将 AWS 状态机返回的值之一作为输入传递给 Lambda。

我在 AWS Step Functions 中创建了一个状态机来为我们领域中的特定问题建模。一旦状态机完成,我想从我的一个 Lambda 中执行另一个操作。为了实现这一点,我使用 EventBridge 创建了一个新规则:每当状态机完成时,它都会使用特定的 Json 输入触发我的 lambda。

我的问题是如何从状态机输出中提取属性并将它们作为 lambda 输入的属性传递。

假设我的状态机返回这个:

我想在我的 lambda 中接收以下有效负载:

最初,我认为我可以使用 EventBridge 规则上的“输入转换”选项来执行此操作,例如:

  • 输入变压器路径:
  • 输入转换器模板:

但是,在测试期间,我意识到事件有效负载包含的数据比我的状态机输出要多得多。实际上,状态机输出被包装在这个“事件容器”对象中,如下所示:

如您所见,在实际的事件负载中,我的状态机数据存储为output节点内的字符串化 Json 值。如果然后我将输入转换路径更改为:

property我在转换后的输入中得到一个空结果。事实证明,JsonPath 无法将字符串化值作为 Json 有效负载的一部分进行遍历,并且将在搜索中失败。

如何usefulProperty从事件有效负载中的 Json 字符串中提取值,以便将其传递给我的 lambda 函数?有没有办法使用我缺少的纯 JsonPath 来做到这一点?也许有一种方法可以将 AWS 配置为不将有效负载转换为字符串,而将其作为整个事件有效负载的一部分?还有其他选择吗?