关于【re:Invent】Amazon EventBridge Pipes的验证和未来的问题
这篇文章是“Relic Advent Calendar 2022”的第三天的内容!
This answer is in Chinese:
导言
re:Invent 2022已经成功结束了。
由于新冠疫情的原因,今年在拉斯维加斯现场举行的活动已经有三年时间了。通过Twitter的时间线,我能够感受到现场的氛围,因此我也参加了在线的主题演讲。晚上是re:Invent活动,中午则是由AWS资深传教士亀田先生主持的re:Cap活动,最后一天中午参加了BlackBelt Online的总复习和追赶,这是一个忙碌了一周的经历。
今年在 re:Invent 大会上,发布了126个更新,跟往常一样,数量是相当庞大的。
不论它起源于何处,JAWS-UG已经流行起了”不输出就是智力便秘”这句话。由于这种情况可能导致身体不适,所以我打算亲自验证我所感兴趣的服务和新功能,并将其内容写下来。
我觉得自己去收集初级资料并进行试验是有一定价值的,尽管有时候我也听得到心里的声音说他所(别人)后期会整理好的东西会写给我的。我认为通过让很多人亲自动手输出,可以将不仅仅是知识,还有热情连接在一起。所以,我会以不太在意内容重复的风格来写!
Amazon EventBridge Pipes是什么
好的,作为第一个主题,我打算写一下「Amazon EventBridge Pipes」。
EventBridge Pipes是EventBridge的一项新功能,它可以从事件生产者,也就是事件的源头,对事件信息进行过滤和增强处理(Enrichment),然后将其传送给被称为消费者的目标。
此外,能够保持它们的顺序性并进行处理是非常重要的。这可能是为什么生产者被限制在DynamoDBStream、Kinesis、SQS、MQ、Apache Kafka等上面的原因。
与制片人对接的服务
-
- Amazon DynamoDB Stream
-
- Amazon Kinesis Data Streams
-
- Amazon SQS
-
- Amazon Managed Streaming for Apache Kafka
-
- Amazon MQ
- セルフマネージド Apache Kafka
为消费者提供服务
-
- Amazon Step Functions
-
- Kinesis Data Streams
-
- Kinesis Data Firehose
-
- AWS Lambda
-
- EventBridge
-
- API Gateway
-
- CloudWatch logs
-
- ECS Cluster
-
- Inspector
-
- Redshift Cluster
-
- SageMaker pipeline
-
- Amazon SQS
-
- Amazon SNS
- AWS Batch
支持EventBridge Pipes上的“强化(Enrichment)”功能的服务。
-
- EventBridge
-
- AWS Lambda
-
- API Gateway
- Amazon Step Functions
活动桥图像
为了理解EventBridge与以往的不同,让我们对EventBridge进行复习。简单来说,EventBridge由以下三个流程组成。
-
- 从事件源接收事件
-
- 进行过滤
- 将其分发到目标
EventBridge所支持的事件源可以通过下面的列表看出来,不仅涵盖了众多的AWS服务,还支持超过30个SaaS集成,例如DataDog、Auth0、Shopify和Stripe等。
与EventBridge的不同之处
在EventBridge Piples中,生产者只限于某些AWS服务,除了过滤之外,还可以通过Lambda或StepFunction等进行加强处理(Enrichment)后再向消费者进行传递,从而帮助开发事件驱动的应用程序。
此外,由于可以构建这些有序的流程而无需编写代码,因此还可以大大缩短开发时间,这也是一个重要的优点。
如何构建EventBridge Pipes
以下是构建EventBridge Pipes的方法。
-
- AWSコンソール
-
- CLoudFormation
- CDK
对于CDK的支持真是令人高兴啊!
目前(截至2022年)可用的区域。
只能在以下两个商业区域之外的区域使用。
(2022年至今) 不支持的地区。
-
- アジアパシフィック(ハイデラバード)
- ヨーロッパ(チューリッヒ)
价格(东京地区)
一份请求的费用是根据64KB的有效负载计算的。
例如,具有256KB有效负载的事件批次将被计为4个请求的费用。
例如,有一个女孩子正在玩耍。
送信的事件数量:2000万
与过滤条件相符的事件:50%
每个请求处理5个事件
过滤后的请求数量:2000万 * 0.5/5 = 200万
成本为:200万 * 0.5美元 = 1美元
建立EventBridge Pipes
由于在文件中明确指出了对CloudFormation和CDK的支持,但似乎尚未发布,因此我决定从控制台上实际尝试一下。
我打算用简单的DynamoDB -> 过滤 -> CloudWatch日志的模式来处理,以适应处理方式。一旦熟悉了,我打算尝试加入强化(Enrichment)步骤的处理。
准备 DynamoDB(生产者)
使用以下设定值准备 DynamoDB。
※必須
构建EventBridge Pipe
{
"eventID": "1",
"eventVersion": "1.0",
"dynamodb": {
"Keys": {
"Id": {
"N": "101"
}
},
"NewImage": {
"Message": {
"S": "Sample"
},
"Id": {
"N": "101"
}
},
"StreamViewType": "NEW_AND_OLD_IMAGES",
"SequenceNumber": "111",
"SizeBytes": 26
},
"awsRegion": "us-east-1",
"eventName": "INSERT",
"eventSourceARN": "arn:aws:dynamodb:us-east-1:111122223333:table/EventSourceTable",
"eventSource": "aws:dynamodb"
}
{
"dynamodb": {
"NewImage": {
"Message": {
"S": [{
"prefix": "Sample"
}]
}
}
}
}
确认行动
-
- プロデューサーとなるDynamoDBにて項目を以下の値で作成
Sampleではログが出力され、Exampleではログが出力されない
这次,首先确认了一个流程的连续性被实施的管道已经运作起来了。
给你一个小礼物1
为什么…
额外2
由于日本语的官方文档尚未更新,当您想查找EventBridgePipes时,需要去查看英文版本。
未来的计划 de yù
关于EventBridge Pipes的未来计划,在re:invent的主题演讲中也有提及,现在我来简单介绍一下。
云监控日志的支持。目前只能通过云监控指标来检查管道调用和失败。
对VPC终端节点/私有链接的支持。与AWS SDK的服务集成。
跨账户的协作支持。
支持存档和重放。
对SAM和CDK(L2)/ IDE的支持。
这些都令人迫不及待啊!!
整理
我感到EventBridge和StepFunction等服务在过去一年里得到了特别的发展,包括拓展和增加功能。这些新闻在主题演讲中也被宣布,使得基于事件驱动的无服务器应用程序开发成为AWS的一个重要主题和趋势。
我想验证并写下对继续更新的服务和功能感兴趣的内容!
请使用以下中文释义:
参照 – 请参照下文内容。
- Create Point-to-Point Integrations Between Event Producers and Consumers with Amazon EventBridge Pipes