Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Async Aws Bundle

Async Aws Bundle Laravel Package

async-aws/async-aws-bundle

View on GitHub
Deep Wiki
Context7

[READ ONLY] AsyncAws + Symfony = <3

Frequently asked questions about Async Aws Bundle
Can I use async-aws-bundle in Laravel, or is it Symfony-only?
This bundle is designed for Symfony, but you can adapt it for Laravel by wrapping it in a custom ServiceProvider to register Symfony’s DI extensions. Laravel’s autowiring can then resolve AsyncAws interfaces (e.g., `S3ClientInterface`), though you’ll need to handle async/await or queue async operations manually. The bundle itself won’t work out-of-the-box in Laravel without modifications.
How do I configure AWS credentials in Laravel if this bundle uses Symfony’s YAML config?
Mirror Symfony’s `config/packages/async_aws.yaml` in Laravel’s `config/async_aws.php` and use Laravel’s `.env` for credentials (e.g., `AWS_ACCESS_KEY_ID`). Override environment-specific settings via `.env` or Laravel’s config caching. The bundle’s credential providers (e.g., IAM roles, static keys) can still be used, but you’ll need to ensure they’re compatible with Laravel’s container.
Will async-aws-bundle work with Laravel’s synchronous request lifecycle?
No, async-aws uses promise-based async I/O, which clashes with Laravel’s synchronous nature. Use `await` (PHP 8.1+) for blocking async calls or offload operations to Laravel Queues with a worker processing async-aws promises. Libraries like `spatie/async` can help bridge async/await patterns in Laravel.
What Laravel versions does this bundle support, and are there breaking changes?
The bundle itself targets Symfony 6.x–8.x, but Laravel compatibility depends on your adaptation layer (e.g., ServiceProvider). There are no Laravel-specific breaking changes, but async-aws/core (v1.0+) may introduce minor version risks. Always check the [async-aws changelog](https://github.com/async-aws/core/releases) for SDK updates.
How do I test async AWS operations in Laravel with this bundle?
Use `async-aws`'s `MockClient` for unit tests or `localstack` for integration tests. For async operations, verify promises resolve correctly with PHPUnit’s `expect()` or mock the queue system. Laravel’s `Queue::fake()` can simulate queued async-aws jobs, but ensure your tests account for non-blocking behavior.
Is there a performance benefit over the synchronous aws/aws-sdk-php in Laravel?
Yes, async-aws leverages non-blocking I/O, which is ideal for high-concurrency Laravel APIs (e.g., handling 100+ S3 uploads simultaneously). However, benefits are only realized if you `await` calls or queue them. Benchmark async vs. sync SDKs in your specific use case—async-aws may underperform for simple, low-latency operations.
Can I use this bundle with Laravel’s Facades or does it require manual DI?
This bundle doesn’t include Facades, so you’ll need to manually bind interfaces (e.g., `S3ClientInterface`) to concrete clients in your `AppServiceProvider`. Laravel’s autowiring can resolve these types if you register the bundle’s services, but Facade support would require custom wrapper classes.
How do I handle errors and retries for async AWS calls in Laravel?
Use async-aws’s built-in retry mechanisms (configured in `async_aws.yaml`) and wrap calls in `try-catch` blocks to log errors via Laravel’s Monolog. For async operations, implement a dead-letter queue (DLQ) for failed jobs. Symfony’s Monolog integration can be adapted to Laravel by binding the logger in your ServiceProvider.
Are there alternatives to async-aws-bundle for Laravel that support async AWS calls?
For Laravel, consider `spatie/async` (for async/await) or `aws/aws-sdk-php` with Guzzle’s async features. The `vlucas/phpdotenv` + `aws/aws-sdk-php` combo is more Laravel-native but lacks async I/O. If you need async, `reactphp/aws` (ReactPHP SDK) is another option, though it requires more manual setup than async-aws.
Who maintains this bundle, and how often are updates released?
The bundle is maintained by the async-aws team, with updates tied to async-aws/core releases. Check the [GitHub repo](https://github.com/async-aws/symfony-bundle) for activity—Symfony-focused updates may lag behind Laravel-specific needs. For Laravel adaptations, you’ll need to monitor async-aws/core and Symfony compatibility yourself or contribute patches.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
filament/spatie-laravel-tags-plugin
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi