PHPackages                             micronative/sqs - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. micronative/sqs

ActiveLibrary[Queues &amp; Workers](/categories/queues)

micronative/sqs
===============

AWS SQS Transport (fork and improve from enqueue/sqs)

2.0.1(4y ago)0661MITPHPPHP ^7.1.3

Since Apr 28Pushed 4y agoCompare

[ Source](https://github.com/micronative/sqs)[ Packagist](https://packagist.org/packages/micronative/sqs)[ Docs](https://github.com/micronative/)[ RSS](/packages/micronative-sqs/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (2)Dependencies (6)Versions (60)Used By (1)

Micronative/Sqs
===============

[](#micronativesqs)

[![Software license](https://camo.githubusercontent.com/bbdd77cc9c23829c447dea1e51596b0137c58f2c62d19014ff13101e2157e5eb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6e726b2f7072656469732e737667)](LICENSE)[![Version](https://camo.githubusercontent.com/82e2c88c7b9a1b81c89c4ff1c977c2cb1fea0f889f7f79cad7b46e25057a0190/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6963726f6e61746976652f7371732e737667)](https://packagist.org/packages/micronative/sqs)[![Build status](https://camo.githubusercontent.com/a29a6ec5c24598dd9adbdbfbc850e3af384a740222b2be34a995d5795b69598a/68747470733a2f2f7472617669732d63692e6f72672f6d6963726f6e61746976652f7371732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/github/micronative/sqs)[![Coverage](https://camo.githubusercontent.com/e9ed67758adb6a54f35baf3ade30f6ab3f94ecacf6894ec8dbc0fed83c526979/68747470733a2f2f636f6465636f762e696f2f67682f6d6963726f6e61746976652f7371732f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/micronative/sqs)

Configuration
-------------

[](#configuration)

```
"require": {
        "micronative/sqs": "^2.0.0"
},
"repositories": [
    { "type": "vcs", "url": "https://github.com/micronative/sqs" }
],
```

Run

```
composer require micronative/sqs:2.0.0
```

Description
===========

[](#description)

This project was forked from [enqueue/sqs](https://github.com/php-enqueue/sqs) and made the following improvements:

- Move all classes to src
- Rename Tests to tests
- Move examples to tests
- Change namespace to Micronative\\Sqs

SqsProducer-&gt;send():

```
public function send(Destination $destination, Message $message): void
    {
        InvalidDestinationException::assertDestinationInstanceOf($destination, SqsDestination::class);
        InvalidMessageException::assertMessageInstanceOf($message, SqsMessage::class);

        $body = $message->getBody();
        if (empty($body)) {
            throw new InvalidMessageException('The message body must be a non-empty string.');
        }

        $arguments = [
            '@region' => $destination->getRegion(),
            'MessageBody' => $body,
            'QueueUrl' => $this->context->getQueueUrl($destination),
        ];

        if (null !== $this->deliveryDelay) {
            $arguments['DelaySeconds'] = (int) $this->deliveryDelay / 1000;
        }

        if ($message->getDelaySeconds()) {
            $arguments['DelaySeconds'] = $message->getDelaySeconds();
        }

        if ($message->getMessageDeduplicationId()) {
            $arguments['MessageDeduplicationId'] = $message->getMessageDeduplicationId();
        }

        if ($message->getMessageGroupId()) {
            $arguments['MessageGroupId'] = $message->getMessageGroupId();
        }

        if ($message->getHeaders()) {
            $arguments['MessageAttributes']['Headers'] = [
                'DataType' => 'String',
                'StringValue' => json_encode([$message->getHeaders()]),
            ];
        }

        if ($message->getProperties()) {
            foreach ($message->getProperties() as $name => $value) {
                $arguments['MessageAttributes'][$name] = ['DataType' => 'String', 'StringValue' => $value];
            }
        }

        $result = $this->context->getSqsClient()->sendMessage($arguments);

        if (false == $result->hasKey('MessageId')) {
            throw new \RuntimeException('Message was not sent');
        }

        $message->setMessageId($result['MessageId']);
    }
```

SqsConsumer-&gt;covertMessage():

```
protected function convertMessage(array $sqsMessage): SqsMessage
    {
        $message = $this->context->createMessage();

        $message->setBody($sqsMessage['Body']);
        $message->setReceiptHandle($sqsMessage['ReceiptHandle']);

        if (isset($sqsMessage['Attributes'])) {
            $message->setAttributes($sqsMessage['Attributes']);

            if (isset($sqsMessage['Attributes']['MessageDeduplicationId'])) {
                $message->setMessageDeduplicationId($sqsMessage['Attributes']['MessageDeduplicationId']);
            }

            if (isset($sqsMessage['Attributes']['MessageGroupId'])) {
                $message->setMessageGroupId($sqsMessage['Attributes']['MessageGroupId']);
            }
        }

        if (isset($sqsMessage['Attributes']['ApproximateReceiveCount'])) {
            $message->setRedelivered(((int) $sqsMessage['Attributes']['ApproximateReceiveCount']) > 1);
        }

        if (isset($sqsMessage['MessageAttributes'])) {
            foreach ($sqsMessage['MessageAttributes'] as $name => $attribute) {
                if ($name == 'Headers') {
                    $headers = json_decode($attribute['StringValue'], true);
                    $message->setHeaders($headers);
                } else {
                    $message->setProperty($name, $attribute['StringValue']);
                }
            }
        }

        if (isset($sqsMessage['MessageId'])) {
            $message->setMessageId($sqsMessage['MessageId']);
        }

        return $message;
    }
```

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 61.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~32 days

Recently: every ~190 days

Total

58

Last Release

1485d ago

Major Versions

0.9.12 → 1.0.02019-10-04

1.1.2 → 2.0.02020-03-23

PHP version history (2 changes)0.3.6PHP &gt;=5.6

0.9.x-devPHP ^7.1.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/62313876?v=4)[Micronative](/maintainers/Micronative)[@micronative](https://github.com/micronative)

---

Top Contributors

[![makasim](https://avatars.githubusercontent.com/u/143206?v=4)](https://github.com/makasim "makasim (79 commits)")[![ASKozienko](https://avatars.githubusercontent.com/u/100460?v=4)](https://github.com/ASKozienko "ASKozienko (18 commits)")[![ngodinhloc](https://avatars.githubusercontent.com/u/23373100?v=4)](https://github.com/ngodinhloc "ngodinhloc (8 commits)")[![elazar](https://avatars.githubusercontent.com/u/15487?v=4)](https://github.com/elazar "elazar (6 commits)")[![beryllium](https://avatars.githubusercontent.com/u/602491?v=4)](https://github.com/beryllium "beryllium (5 commits)")[![cshum](https://avatars.githubusercontent.com/u/293790?v=4)](https://github.com/cshum "cshum (2 commits)")[![deguif](https://avatars.githubusercontent.com/u/993399?v=4)](https://github.com/deguif "deguif (2 commits)")[![asilgalis](https://avatars.githubusercontent.com/u/3510588?v=4)](https://github.com/asilgalis "asilgalis (1 commits)")[![webmake](https://avatars.githubusercontent.com/u/5016464?v=4)](https://github.com/webmake "webmake (1 commits)")[![bendavies](https://avatars.githubusercontent.com/u/625392?v=4)](https://github.com/bendavies "bendavies (1 commits)")[![mbeccati](https://avatars.githubusercontent.com/u/282388?v=4)](https://github.com/mbeccati "mbeccati (1 commits)")[![Orkin](https://avatars.githubusercontent.com/u/1061903?v=4)](https://github.com/Orkin "Orkin (1 commits)")[![rpkamp](https://avatars.githubusercontent.com/u/1059790?v=4)](https://github.com/rpkamp "rpkamp (1 commits)")[![samnela](https://avatars.githubusercontent.com/u/1852108?v=4)](https://github.com/samnela "samnela (1 commits)")[![Steveb-p](https://avatars.githubusercontent.com/u/3183926?v=4)](https://github.com/Steveb-p "Steveb-p (1 commits)")

---

Tags

awsqueuemessagingsqs

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/micronative-sqs/health.svg)

```
[![Health](https://phpackages.com/badges/micronative-sqs/health.svg)](https://phpackages.com/packages/micronative-sqs)
```

###  Alternatives

[enqueue/sqs

Message Queue Amazon SQS Transport

376.3M14](/packages/enqueue-sqs)[shiftonelabs/laravel-sqs-fifo-queue

Adds a Laravel queue driver for Amazon SQS FIFO queues.

1556.0M3](/packages/shiftonelabs-laravel-sqs-fifo-queue)[joblocal/laravel-sqs-sns-subscription-queue

A simple Laravel service provider which adds a new queue connector to handle SNS subscription queues.

48416.3k](/packages/joblocal-laravel-sqs-sns-subscription-queue)[pod-point/laravel-aws-pubsub

A Laravel broadcasting driver and queue driver that broadcasts and listens to published events utilising AWS SNS, EventBridge and SQS.

1096.1k](/packages/pod-point-laravel-aws-pubsub)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
