问题标签 [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 回答
1171 浏览

amazon-web-services - AWS 通过 Cloudwatch 事件总线调用跨账户 lambda

我在多个账户中部署了一个 AWS lambda 函数。我正在寻找一种方法来安排通过 Cloudwatch 事件总线从主帐户触发这些 lambda 函数。这可能吗?

0 投票
1 回答
278 浏览

amazon-web-services - EventBridge 响应元素太大

当结果太长时,EventBridge/CloudTrail 将以下 json 字符串传递给我的 lambda 函数。无论如何可以查看诸如分页器NextToken之类的 responseElements吗?

我正在使用以下 EventBridge 模式

0 投票
3 回答
284 浏览

amazon-web-services - Cloudwatch 事件规则不支持 IAM 事件

我正在尝试设置 Cloudwatch 事件规则来通知任何 AWS IAM 操作,例如 DeleteUser 或 CreateUser。但是,当我尝试创建事件模式时,我在服务名称列表中找不到 IAM,即使当我在 AWS 文档中搜索时,我也找不到 Cloudwatch 事件规则不支持 IAM 的提及。所以我尝试创建一个自定义事件,但我没有收到来自 SNS(我的目标)的任何电子邮件,是的,我确保 cloudwatch 有权调用 SNS,因为我们已经有其他工作事件,知道为什么这不起作用?

0 投票
1 回答
193 浏览

amazon-web-services - EventBridge PutEvents 基于标签的策略

是否可以为 EventBridge PutEvents 操作配置基于标签的策略?

我希望,基于 IAM 角色中的标签,我可以控制哪些角色可以访问特定事件总线上的 PutEvents。我尝试使用以下资源策略来做到这一点:

这将允许任何标记stage=test为的 IAM 角色能够 PutEvents。但这似乎不起作用。阅读此https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridge.html表明可能PutEvents不支持该aws:RequestTag条件,但某些操作确实支持,这对我来说似乎非常奇怪。

0 投票
3 回答
228 浏览

amazon-web-services - InputTransformer YAML 未解析事件规则

我的目标是向数据发送以下格式:

但与 YAML 中的输入变压器苦苦挣扎:

并得到这个错误:

收到来自自定义资源的响应状态 [FAILED]。返回消息:事件模式无效。原因:“expectedToken”必须是对象或者数组++at [Source: (String)"{"inputTransformer":{"inputPathsMap":{"expectedToken":"$detail.metadata.someToken"},"inputTemplate": "{"headers": {"Authorization": }}"},"

Trigger 是一个带有映射模板的 APIGW,该模板将 Auth 令牌作为元数据的一部分附加,但目标期望它作为标头。这是一个可行的解决方案吗?如何将其解析为预期的格式?

稍后编辑: 从 APIGW 发送的数据:

0 投票
1 回答
469 浏览

amazon-web-services - 有条件地在 AWS sam 模板文件中启用事件计划

这是我的(缩短的)template.yml 文件:

我要做的是仅在 EnvType 参数设置为 qc1 时启用该计划。问题是,我无法让Equals 条件If 条件工作。我已经尝试了以下所有方法:

在测试所有这四个案例之间,我删除了我的整个堆栈,而不是尝试更新它们,正如这篇文章中的评论所建议的那样。我还三次检查了传入的参数不是 qc1,并且还只是将 Enabled 标志设置为 False 以确保它实际上会禁用计划,它确实这样做了。在这一点上我很困惑,有没有人知道我做错了什么或者我可以尝试什么?

0 投票
1 回答
625 浏览

amazon-web-services - 如何运行 AWS ECS 任务,然后在准备好后运行 Lambda 函数,然后最终停止任务?

我是 AWS 新手。我有一个 Lambda 函数,我想每天在格林威治标准时间凌晨 4:00 运行。Lambda 函数依赖于要运行的 AWS ECS 容器任务。我不想让 AWS ECS Container 任务始终运行(因为它对我来说成本很高),我希望能够触发运行它,然后在准备就绪时运行 Lambda 任务,最后在 Lambda 函数完成时运行,我想要阻止它。

我对此进行了调查,发现我可以使用 Amazon EventBridge 规则运行 Lambda 函数。我知道我可以使用 CRON 表达式 ,0 4 * * ? *在每天凌晨 4:00 运行它。但是,我不确定如何首先运行 ECS 容器任务,以及如何在 Lambda 函数完成时停止该任务。

其他信息:

Lambda 函数具有 Node.js 环境。

0 投票
1 回答
1120 浏览

node.js - 为什么没有触发作为目标添加到事件桥规则的 Lambda 函数?

我正在尝试将规则和 lambda 目标添加到 EventBridge 的规则中。规则和目标添加成功,但目标 Lambda 未触发。当我导航到 AWS 控制台上的目标 Lambda 函数时,我看不到相关的触发器。

我正在使用无服务器框架来部署堆栈。putRuleAndTargetlambda 是创建规则并添加notifyUser为目标的那个。这是文件的相关部分serverless.ts


这是putRuleAndTarget(我正在使用 aws javascript sdk v3)的代码:


以下屏幕截图是putRuleAndTarget 在 AWS EventBridge 控制台上运行创建的规则后截取的: EventBridge 控制台 上的规则

显示目标的规则详细信息: EventBridge 控制台上的规则详细信息和目标

notifyUserLambda 控制台上的函数,请注意缺少触发器: Lambda 控制台上的 notifyUser 函数


此外,运行sls logs -f notifyUser不会带来任何日志语句,该函数永远不会被调用,尽管它应该每 1 分钟运行一次。

0 投票
1 回答
130 浏览

aws-lambda - 为什么此 AWS Lambda 函数不断从 AWS ECS 的此 EventBridge 规则循环?

我有一个 EventBridge 规则,它在其中一个 ECS 任务启动(状态:RUNNING)时调用 Lambda 函数(目标)。Lambda 函数做了一些事情,然后它应该在最后停止 ECS 任务。

我有以下 EventBridge 规则:

它调用 Lambda 函数。

以下是 Lambda 函数的简化版本:

当我启动 ECS 任务时,会调用 Lambda 函数并开始运行。在它完成它应该做的事情后,它会停止调用它的 ECS 任务。aws-sdk我为此使用v3,taskArneventLambda 函数的参数中获取。Lambda 函数可以成功停止 ECS 任务(我从发送命令的结果中收到 200 HTTP 响应代码)。但是,然后再次调用 Lambda 函数,并一直重复此过程(我检查了该函数的 CloudWatch 日志)。

我不确定为什么 Lambda 函数会再次启动,因为据我所知,EventBridge 规则不应该触发它。

0 投票
1 回答
54 浏览

amazon-web-services - 如何在 EventBridge 中检索 EventDetails?

使用 AWS .NET SDK,我尝试使用 EventBridge 放置事件,然后使用 CloudWatch 跟踪它。

我如何放置事件:

我在日志中看到的

在此处输入图像描述

有人可以解释一下,为什么我看不到我定义的 Detail 和 DetailType 吗?也许我做错了什么?

先感谢您