问题标签 [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 投票
1 回答
1930 浏览

javascript - 如何使用 AWS EventBridge 角色事件转换器

在 EventBridge 上发布的源事件为:

我继续使用目标转换器创建 EventBridge 规则:

对于Input Path我输入:

对于输入模板,我输入:

在此处输入图像描述

现在,当此事件被转换并发送到目的地(可能是 Lambda 函数、CloudWatch 事件日志组等)时,我希望转换后的事件是:

不幸的是,这不起作用,因为我无法在任何地方找到这个转换后的事件。有什么我应该做的不同的吗

0 投票
2 回答
1437 浏览

amazon-web-services - 如何在 AWS eventbridge eventpattern 的任何其他子句中使用多个前缀?

我有一种情况,我需要使用 eventbridge 中的 eventpatterns 过滤掉某些事件。我想为所有事件运行规则,除了用户名以 abc 或 xyz 开头的事件。我尝试了以下 2 种语法,但都没有奏效:

保存规则时出现以下错误:“事件模式无效。原因:在除列表之外的任何内容中,不支持 start|null|boolean。

我是否遗漏了语法中的某些内容,或者如果这是一个限制,那么这个问题有什么替代方法吗?

0 投票
1 回答
1866 浏览

amazon-web-services - 在 lambda 函数中使用 EventBridge 事件模式字符串

我有一个使用 Python 的 lambda 函数。它连接到 EventBridge 规则,该规则在每次 Glue 表发生更改时触发。

它输出的事件模式如下所示:

我想将此输出中的tableNamedatabaseName值作为变量获取到函数中。

我的 Lambda 函数:

event我期待从我的 return 语句中获得事件模式输出,但事实并非如此。

测试此函数时,返回输出为event

{\"key1\": \"value1\", \"key2\": \"value2\", \"key3\": \"value3\"}

此键和值在功能的测试模式中定义如下。

eventbridge 规则定义如下: 在此处输入图像描述

如何将事件模式中的值获取到变量?我是否需要配置测试模式才能获得结果event

编辑:表更改事件的日志事件图片: 在此处输入图像描述

0 投票
1 回答
969 浏览

aws-lambda - 如何使用 CDK 创建 EventBridge (CloudWatch Events) 规则并将其作为触发器添加到 Lambda 函数?

我正在尝试创建一个 EventBridge (CloudWatch Events) 规则并将该规则作为触发器添加到现有 Lambda 函数中。

该代码正确地使用 Lambda 目标创建 EventBridge,但它不会将触发器添加到实际的 Lambda。我必须通过 AWS Web 控制台手动将 EventBridge 添加到 Lambda。

添加触发器

似乎将 Lambda 作为目标添加到事件规则是不够的。我应该如何将事件规则作为触发器添加到 Lambda?

0 投票
2 回答
1851 浏览

java - AWS EventBridge 目标 Java Lambda 函数

我正在使用 Java lambda 函数将自定义事件放入 AWS EventBridge。此事件桥的目标是另一个 Java lambda 函数。如何在目标 lambda 函数中接收事件?我的意思是我必须使用的 handleRequest 方法中的输入类型是什么?尝试使用 ScheduledEvent 作为输入类型,但没有成功。搜索了许多 EventBridge API 文档,但没有详细了解如何从 Eventbridge 接收 Java lambda 函数中的数据。

以下是接收 SQS 事件的示例。同样,我应该为 EventBridge 触发的事件使用什么类型?

0 投票
2 回答
125 浏览

python-3.x - 如何使用 boto3 从 IAM CreateRole 事件的 cloudtrail 事件中提取角色名称、策略

尝试创建 EventBridge 规则以从源“aws.iam”获取事件“CreateRole”。

来自 cloudtrail 的事件有一个数组“资源”,其中包含 3 个元素:rolename、arn、account_id。他们有这样的模式:

但是这些元素的顺序是随机的,在某些事件中角色名称 - sample-test-5作为第一个元素出现,在某些事件中它出现在中间或最后。

现在在 lambda 内部,使用 json 提取角色名称,如下所示:

以便使用role_name 可以获得boto3 的客户端。但由于数组中元素的随机顺序,在某些情况下无法获取正确的role_name,无法获取boto3客户端。

尝试使用 boto3 客户端直接获取角色名称,但这不可用。要获取角色,需要传递参数rolename:

那么如何从具有随机 faishon 元素顺序的原始事件中获取角色名称。

我还可以在 EventBridge 规则中定义一个规则,以便发送的事件以用户指定的模式出现吗?

请分享任何指示或示例。

谢谢

0 投票
1 回答
990 浏览

amazon-web-services - SNS 主题可以成为 EventBridge 的来源吗?

快速提问。我计划通过将 SNS 主题作为源传递给 EventBridge,而不是将其通过 Lambda,然后从 EventBridge 传递给 Firehose,从而最大限度地减少资源的使用。我试过了,但它不工作。是否有可能,或者 Lambda 是使其成为来源的唯一方法?

0 投票
1 回答
526 浏览

amazon-cloudformation - 有没有办法自定义状态机执行名称?

默认情况下,每个 AWS Step Function 执行名称都是随机生成的。我想为每个随机生成的名称添加一个前缀。我在文档中的任何地方都找不到这样做的方法。我设想这样做的方式是在定义 EventBridge 规则的 CloudFormation 模板中,但如果有我目前不知道的方式,我愿意接受建议。

有没有其他人能够做到这一点,还是我不走运?

0 投票
1 回答
1404 浏览

amazon-web-services - AWS API Gateway 与 Cloudformation 脚本中的 AWS 事件桥(Cloudwatch 事件)集成

原始要求

在 AWS Api Gateway 上创建一个路由/路径,将 API Gateway 直接连接到 AWS Event Bridge (Cloudwatch Events) 并将事件放置/推送到它的事件总线上。

从 AWS 控制台完成后,能够创建并执行得很好。

实际问题

在为此 API Gateway 编写 AWS Cloudformation 脚本时,它看起来像这样:

注意 Uri 值:

根据 AWS Docs的值 uri 应该如下:

对于 AWS 或 AWS_PROXY 集成,URI 的格式为 arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}。这里,{Region} 是 API 网关区域(例如,us-east-1);{service} 是集成 AWS 服务的名称(例如 s3);{subdomain} 是特定 AWS 服务支持的指定子域,用于快速查找主机名。action 可用于基于 AWS 服务操作的 API,使用 Action={name}&{p1}={v1}&p2={v2}... 查询字符串。随后的 {service_api} 指的是支持的操作 {name} 以及任何必需的输入参数。或者,路径可用于基于 AWS 服务路径的 API。随后的 service_api 指的是 AWS 服务资源的路径,包括集成 AWS 服务的区域(如果适用)。例如,为了与 GetObject 的 S3 API 集成,

您一定已经注意到我在上面提到的 uri 中将服务替换为cloudwatchEvents

现在,AWS Cloudformation 控制台在 API 网关发布期间给出的错误:

不支持 cloudwatchEvents 类型的 AWS 服务(服务:AmazonApiGateway;状态代码:400;错误代码:BadRequestException;请求 ID:07bae22c-d198-4595-8de9-6ea23763eff5;代理:null)

现在我尝试用

  • 云表
  • 事件桥
  • cloudwatch事件
  • 事件总线

这是真正的问题。我应该在 uri 中提供什么服务以便它接受?

在此处输入图像描述

0 投票
1 回答
669 浏览

amazon-web-services - 如果批次中有这么多事件,eventbridge会限制lambda吗?

我使用 AWS Eventbrige 事件总线作为触发 lambda 函数的源。Eventbirge 不是低延迟服务,它大约每 250 毫秒向 lambda 发送事件。如果一批中有多个事件,则会多次触发 lambda,一个事件对应一个 lambda 调用。

我的问题是如果一批中有超过 1000 个事件发生,因为 eventbridge 尝试调用 lambda 超过 1000 次,它会限制 lambda(lambda 的最大吞吐量为 1000)?如果是,我该如何解决这个问题?如果没有,额外事件的行为是什么?它们会被缓存还是丢弃?