标签: aws-event-bridge

如何从 EventBridge 规则定义步骤函数执行名称?

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

 JobStepFunctionTrigger:
    Type: AWS::Events::Rule
    Properties:
      EventBusName: !GetAtt JobTaskEventBus.Name
      Name: !Sub ${DeploymentName}-new-job-created
      State: ENABLED
      EventPattern:
        source:
          - !Sub ${DeploymentName}-my-service
        detail-type:
          - 'NEW_JOB'
      Targets:
        - Arn: !GetAtt JobOrchestrator.Arn
          Id: !GetAtt JobOrchestrator.Name
          RoleArn: !Ref MyAwesomeRole
Run Code Online (Sandbox Code Playgroud)

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

amazon-web-services aws-cloudformation aws-step-functions aws-event-bridge

12
推荐指数
1
解决办法
3873
查看次数

如何获取有关失败的计划 AWS ECS 任务的指标/警报(基于退出代码)

我们设置了通过 CloudWatch Events / EventBridge 安排的 AWS ECS 任务。我们希望根据容器退出代码获得失败运行的指标和通知。

我们计划使用通过 CloudWatch Metrics 监控使用情况中的 FailedInitations 。

但是,指标中似乎没有看到非零任务退出代码。ECS 任务的退出代码在 AWS 控制台中被验证为非零,但指标仅包括“调用”和“触发规则”。我们之前在设置任务时遇到了 FailedInitations,并且缺少启动任务所需的策略,但非零退出代码似乎不会影响该指标。

难道只是 EventBridge 不提供非零容器退出代码的指标,还是我们可能会在设置中遗漏某些内容?

我们可以通过记录某些错误消息的任务来解决这个问题,但退出代码会更通用。

exit-code amazon-web-services amazon-ecs amazon-cloudwatch aws-event-bridge

11
推荐指数
1
解决办法
3748
查看次数

EventBridge with SNS Target,可以自定义SNS Message吗

我正在尝试将 AWS EventBridge 与 SNS 目标结合使用,并且已经通过输入转换器实现了发送基本消息 SNS 的基本集成。不过,我希望能够设置 SNS 消息属性(用于订阅过滤),并理想地以 JSON 形式提供消息,以便每个 SNS 订阅(短信、电子邮件)等的消息都不同。

这可能吗?我一直无法找到明确的文档页面来指示 EventBridge 和 SNS Target 支持的范围。这只是一条基本消息吗?

我可以通过使用 Event Bridge => Lambda => SNS 来实现这一点,但我试图避免额外的跃点。有人有关于 SNS Target 官方支持 Event Bridge 的明确信息吗?

amazon-sns aws-event-bridge

10
推荐指数
1
解决办法
3528
查看次数

提交后未触发 SageMaker 管道执行

我正在尝试使用此处提供的教程在 SageMaker Studio 中创建一个简单的管道: https: //sagemaker-immersionday.workshop.aws/lab6.html

我已经遵循了每一步,一切看起来都很好,但是当我将代码推送到存储库时,没有创建新的管道执行。

SageMaker Studio 中没有错误,并且定义了 Amazon EventBridge 规则(用于触发管道执行)。

有谁知道如何解决这个问题?

amazon-sagemaker aws-event-bridge

10
推荐指数
1
解决办法
651
查看次数

AWS EventBridge 目标 Java Lambda 函数

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

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

@Override
  public String handleRequest(SQSEvent event, Context context)
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services aws-lambda aws-event-bridge

9
推荐指数
1
解决办法
7741
查看次数

从不同事件触发的 lambda 的打字稿语法

使用无服务器框架,我定义了一个 lambda,可以每小时触发一次或通过 SNS 触发

  ...
  functions: {
    fooAction: {
      handler: 'handler.fooAction',
      events: [
        {
          schedule: 'rate(1 hour)',
        },
        {
          sns: {
            topicName: 'fooTopic',
          },
        },
      ],
    },
   ...
  }
  ...
Run Code Online (Sandbox Code Playgroud)

定义函数时正确的打字稿语法是什么fooAction

我努力了

import { SNSHandler, ScheduledHandler} from 'aws-lambda';
...
export const fooAction: ScheduledHandler | SNSHandler = async (evt) => { ... };
Run Code Online (Sandbox Code Playgroud)

evt决心any

amazon-sns typescript aws-lambda serverless-framework aws-event-bridge

9
推荐指数
1
解决办法
1万
查看次数

如果 Kubelet 崩溃或停止报告,如何删除 EKS 托管节点组中的节点?

我将 aws EKS 与托管节点组一起使用。在过去的几周里,我曾两次遇到其中一个节点中的 Kubelet 崩溃或停止向控​​制平面报告的情况。

\n

在这种情况下,我希望自动缩放组将该节点识别为不健康节点,并将其替换。然而,事实并非如此。我通过创建节点并手动停止 Kubelet 重新创建了该问题,请参见下图:

\n

在此输入图像描述

\n

我的第一个想法是创建一个事件总线警报,该警报将触发 lambda 来处理此问题,但我在事件总线的服务列表中找不到 EKS 服务,因此 \xe2\x80\xa6

\n

有谁知道可以帮助解决此问题的工具或配置吗?\n为了明确起见,我正在寻找能够:

\n
    \n
  1. 检测到 kubelet 未连接到控制平面
  2. \n
  3. 删除集群中的节点
  4. \n
  5. 终止EC2
  6. \n
\n

谢谢!!

\n

autoscaling kubernetes kubelet amazon-eks aws-event-bridge

9
推荐指数
1
解决办法
2335
查看次数

将事件数据从 Amazon EventBridge 传递到 AWS Fargate 任务

客观的

我想将事件数据从 Amazon EventBridge 直接传递到 AWS Fargate 任务中。然而,目前看来这是不可能的。

解决方法

作为解决方法,我在 AWS Fargate 和 EventBridge 之间插入了额外的资源。AWS Step Functions 允许您指定ContainerOverrides,其中该Environment属性允许您配置将从 EventBridge 事件传递到 Fargate 任务的环境变量。

不幸的是,这种解决方法不必要地增加了解决方案的复杂性和成本。

问题:有没有一种方法可以将事件数据从 EventBridge 直接传递到 AWS Fargate (ECS) 任务,而我根本不知道?

amazon-web-services aws-event-bridge

8
推荐指数
2
解决办法
7863
查看次数

S3 对象级别事件未触发

我在 aws eventsbridge 中使用事件模式创建了一个事件规则:

{
  "source": [
    "aws.s3"
  ]
}
Run Code Online (Sandbox Code Playgroud)

目标是 CloudWatch 日志组。现在,当我在存储桶级别更改某些内容(例如存储桶权限)时,我会看到云监视中捕获的事件,但是当我在 s3 存储桶中添加/删除文件时,什么也没有发生。这里出了什么问题?

amazon-s3 amazon-web-services aws-event-bridge

8
推荐指数
1
解决办法
4903
查看次数

针对 API 目标的计划 EventBridge 规则

是否可以创建一个 EventBrisge 规则,该规则可以安排在一天中的特定时间运行并调用 API 作为自定义目标?

如果目标是 AWS 或合作伙伴服务,则似乎可以为目标设置计划,但如果它们是自定义配置的端点,则不能为目标设置计划。

我想做的就是设置一个日常例程来调用端点,以便它可以执行日常清理任务。如果有更好的方法,请问有人可以推荐吗?

编辑

在下面,EventBridge我创建了一个指向 OAuth 端点的连接,然后创建了一个指向我想要每天调用的 API 端点的 API 目标。

然后,我创建了一个事件总线和一个规则,但是当我尝试在规则上设置“计划”选项时,它会显示一条警告,其中指出:

选择自定义或合作伙伴事件总线时,不支持计划规则

我相信这意味着我无法在不通过 Lambda 的情况下使用 EventBridge 调用我自己的 API 端点。我错了吗?

amazon-web-services restful-url aws-event-bridge

8
推荐指数
1
解决办法
2431
查看次数