SQS Navbat is a local development tool that emulates the AWS SQS API's interface. This allows you to test your SQS integrations without connecting to AWS, which is useful for offline development and testing. It's designed to behave as much as possible like AWS SQS, with the ability to send and get messages, among other functions.
- Emulates the SQS CreateQueue, SendMessage, ReceiveMessage, ListQueues
- Error handling similar to the AWS SQS API.
$ git clone [email protected]:oneslash/sqs-navbat.git
$ cd sqs-navbat
$ cargo build
Start the server:
$ cargo install sqlx-cli
$ cargo sqlx prepare --database-url sqlite//database.db
$ cargo run
Parameters:
-
bind_address
(Default:"127.0.0.1"
): Defines the IP at which the server will be running. You can modify this value according to your needs. -
port
(Default:"9090"
): This is the port number on which the server will listen for requests. If you have another service running on the default port, you may want to change this. -
db_url
(Default:"sqlite://database.db"
): DB URL for the Sqlite, currently only SQLite is supported. -
host_name
(Default: http://localhost:9090) - This will be used for the queue URL creation.
$ ./s3-chelak --bind_address "0.0.0.0" --port "9090" --db_url "sqlite://database.db"
AWS S3 API Name | Implemented |
---|---|
AddPermission | ❌ |
CancelMessageMoveTask | ❌ |
ChangeMessageVisibility | ❌ |
ChangeMessageVisibilityBatch | ❌ |
CreateQueue | ✅ |
DeleteMessage | ❌ |
DeleteMessageBatch | ❌ |
DeleteQueue | ❌ |
GetQueueAttributes | ❌ |
GetQueueUrl | ❌ |
ListDeadLetterSourceQueues | ❌ |
ListMessageMoveTasks | ❌ |
ListQueues | ✅ |
ListQueueTags | ❌ |
PurgeQueue | ❌ |
ReceiveMessage | ✅ |
RemovePermission | ❌ |
SendMessage | ✅ |
SendMessageBatch | ❌ |
SetQueueAttributes | ❌ |
StartMessageMoveTask | ❌ |
TagQueue | ❌ |
UntagQueue | ❌ |
This project is licensed under the MIT License. See the LICENSE.md file for details.
- AWS for its comprehensive and well-documented S3 API.