Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/msfidelis/dynamodb-eventbridge-pipes-to-sqs

Educational example to explain how to setup EventBridge Pipes to sync DynamoDB new itens to SQS
https://github.com/msfidelis/dynamodb-eventbridge-pipes-to-sqs

Last synced: 28 days ago
JSON representation

Educational example to explain how to setup EventBridge Pipes to sync DynamoDB new itens to SQS

Awesome Lists containing this project

README

        

How to setup EventBridge Pipes to send New DynamoDB Itens do SQS 👋




License: MIT


Twitter: fidelissauro

### 🏠 [Architecture / Topology](/)

![topology](.github/asserts/scale.png)

## DynamoDB Stream Event Example

```json
{
"eventID": "a8f715d304a8daab894872742a3855b7",
"eventName": "INSERT",
"eventVersion": "1.1",
"eventSource": "aws:dynamodb",
"awsRegion": "us-east-1",
"dynamodb": {
"ApproximateCreationDateTime": 1722360292,
"Keys": {
"id": {
"S": "a40d1614-5234-4ef2-aa6a-c25c3b5c58a3"
}
},
"NewImage": {
"id": {
"S": "a40d1614-5234-4ef2-aa6a-c25c3b5c58a3"
}
},
"SequenceNumber": "100000000093582842803",
"SizeBytes": 76,
"StreamViewType": "NEW_IMAGE"
},
"eventSourceARN": "arn:aws:dynamodb:us-east-1:181560427716:table/stream-pipe/stream/2024-07-30T17:20:48.118"
}
```

## Requirements

No requirements.

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | 5.60.0 |
| [awscc](#provider\_awscc) | 1.7.0 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [aws_dynamodb_table.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/dynamodb_table) | resource |
| [aws_iam_policy.eventbridge_pipes_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
| [aws_iam_policy_attachment.eventbridge_pipes_policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
| [aws_iam_role.eventbridge_pipes_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_sqs_queue.dlq](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
| [aws_sqs_queue.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
| [awscc_pipes_pipe.main](https://registry.terraform.io/providers/hashicorp/awscc/latest/docs/resources/pipes_pipe) | resource |
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [eventbridge\_pipe\_sqs\_batch\_size](#input\_eventbridge\_pipe\_sqs\_batch\_size) | n/a | `number` | `10` | no |
| [eventbridge\_pipe\_sqs\_batch\_timeout\_in\_seconds](#input\_eventbridge\_pipe\_sqs\_batch\_timeout\_in\_seconds) | n/a | `number` | `10` | no |
| [project\_name](#input\_project\_name) | n/a | `string` | `"stream-pipe"` | no |

## Outputs

No outputs.

### ✨ [Demo](/)

## Install

```sh
terraform apply
```

## Usage

```sh
terraform apply
```

## Run tests

```sh
terraform plan
```

## Author

👤 **Matheus Fidelis**

* Website: https://fidelissauro.dev
* Twitter: [@fidelissauro](https://twitter.com/fidelissauro)
* Github: [@msfidelis](https://github.com/msfidelis)
* LinkedIn: [@msfidelis](https://linkedin.com/in/msfidelis)

## 🤝 Contributing

Contributions, issues and feature requests are welcome!
Feel free to check [issues page](/issues).

## Show your support

Give a ⭐️ if this project helped you!

## 📝 License

Copyright © 2021 [Matheus Fidelis](https://github.com/msfidelis).

This project is [MIT](/LICENSE ) licensed.

***
\_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)\_