PHPackages                             swiftchase/queue-sqs-s3event - 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. swiftchase/queue-sqs-s3event

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

swiftchase/queue-sqs-s3event
============================

Zend Framework 2 module for Amazon S3 Event Notifications queue manager for SlmQueue

0.1.1(11y ago)292BSD-3-ClausePHPPHP &gt;=5.5

Since Apr 5Pushed 11y ago1 watchersCompare

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

READMEChangelogDependencies (1)Versions (3)Used By (0)

S3EventQueue Zend Framework 2 Module
====================================

[](#s3eventqueue-zend-framework-2-module)

Version 0.1 created by Marcus Welz.

Purpose
-------

[](#purpose)

This module allows handling of [SQS event notifications generated by S3](https://aws.amazon.com/blogs/aws/s3-event-notification/).

For example, you might allow users to upload directly to an S3 bucket, and need to know when new file uploads complete in order to process them.

Requirements
------------

[](#requirements)

- [Zend Framework 2](https://github.com/zendframework/zf2)
- [SlmQueue](https://github.com/juriansluiman/SlmQueue) ~0.4.0
- [SlmQueueSqs](https://github.com/juriansluiman/SlmQueueSqs) ~0.4.0

Installation
------------

[](#installation)

Add the library to composer:

```
$ composer require "swiftchase/queue-sqs-s3event:*"

```

Then, add the `S3EventQueue` module in your `config/application.config.php`. Afterwards, the `S3EventQueue\Queue\S3EventQueueFactory` is ready to manage SQS queues that contain S3 events notifications.

Follow the [SlmQueueSqs](https://github.com/juriansluiman/SlmQueueSqs) documentation.

- The queue manager must be the new `S3EventQueueFactory` instead of `SqsQueueFactory`.
- In the queue configuration section, the queue must specify the job class to instantiate.

```
    'slm_queue' => [
        'queues' => [
            'bucket-name' => [
                'job_class' => 'My\Job\S3EventJob' // extends AbstractS3EventJob
            ]
        ],
        'queue_manager' => [
            'factories' => [
                'bucket-name' => 'S3EventQueue\Queue\S3EventQueueFactory'
            ]
        ]
    ]
```

How does this work?
-------------------

[](#how-does-this-work)

The excellent [SlmQueue](https://github.com/juriansluiman/SlmQueue) allows for multiple queue backends, as well as *multiple job types per queue*. This is achieved by persisting metadata (the job class), and instantiating the correct job during unserialization. This happens in [`SlmQueue\Queue\AbstractQueue::unserializeJob`](https://github.com/juriansluiman/SlmQueue/blob/master/src/SlmQueue/Queue/AbstractQueue.php#L63-L69).

The events generated by AWS obviously don't follow this format, so we need a way of overriding the job that gets instantiated, hence the need for the custom `S3EventQueue`, which is configured to a single job type.

Limitations / To-dos
--------------------

[](#limitations--to-dos)

It is expected that there's only a single event coming in per each SQS message. The queue manager will throw an exception if that is not the case. I haven't found documentation that indicates that multiple events could get aggregated, nor that this isn't the case. And while throwing an exception isn't pretty, it prevents potential data loss by missing an event.

Instead of having this custom queue manager, SlmQueue could be refactored to allow configuration of what type of jobs a particular queue will contain. The default could be using metadata to infer job types, a separate strategy could be to specify exactly what job is contained and treat all job data as contents (no metadata).

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

2

Last Release

4061d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0ba48a4af13a2e0eef1e794a27fdfbded2351f3f50d7455dca05a2dc914784ea?d=identicon)[swiftchase](/maintainers/swiftchase)

---

Top Contributors

[![swiftchase](https://avatars.githubusercontent.com/u/8070208?v=4)](https://github.com/swiftchase "swiftchase (5 commits)")

---

Tags

awsqueuejobsqszf2

### Embed Badge

![Health badge](/badges/swiftchase-queue-sqs-s3event/health.svg)

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

###  Alternatives

[shiftonelabs/laravel-sqs-fifo-queue

Adds a Laravel queue driver for Amazon SQS FIFO queues.

1556.0M3](/packages/shiftonelabs-laravel-sqs-fifo-queue)[enqueue/sqs

Message Queue Amazon SQS Transport

376.3M14](/packages/enqueue-sqs)[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)[maqe/laravel-sqs-fifo

Laravel package that enables support for SQS FIFO Queue

15137.2k](/packages/maqe-laravel-sqs-fifo)[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)
