async-aws/core
Shared core library for AsyncAws services: common utilities, HTTP/stream handling, exceptions, and AWS request/response infrastructure. Includes an STS client for authentication and credentials. Install via composer require async-aws/core.
RetryableHttpClient, improving performance for high-throughput systems.AwsClientFactory and ConfigurationProvider.ResultMockFactory for unit/integration tests, reducing reliance on external AWS resources.SsoOidc) and IMDS v2.us-isob-west-1, eusc-de-east-1) and custom endpoints (e.g., VPC peering).aws/aws-sdk-php) with async-aws/core for core services (S3, SQS, DynamoDB).async-aws/ec2, async-aws/lambda) for event-driven architectures.AwsClientFactory to AWS_CLIENT interface).Adopt if:
Look elsewhere if:
"async-aws/core lets us standardize AWS interactions across our Laravel stack, cutting infrastructure costs by 30% (via async operations) and reducing dev time by 40% (via built-in retries/mocking). It’s the foundation for our event-driven architecture—think SQS + Lambda + S3—while future-proofing for GovCloud and SSO. The MIT license and active maintenance (1.29.0 released April 2026) align with our risk tolerance."
Key Outcomes:
*"This replaces our patchwork of Guzzle/AWS SDK calls with a Symfony-compatible, async-first AWS client. Key wins:
Aws\Sts\StsClient sprawl).RetryableHttpClient for non-blocking S3/SQS.us-isob-west-1) and services (Bedrock, S3 Vectors) via minor updates.Migration Path:
aws/aws-sdk-php with async-aws/core for S3/SQS/DynamoDB.async-aws/ec2/async-aws/lambda for async compute.AwsClientFactory to AWS_CLIENT).Tradeoffs:
Example:
// Before: Guzzle + AWS SDK
$s3 = new Aws\S3\S3Client([...]);
$result = $s3->putObject([...]);
// After: async-aws/core
$s3 = app(AwsClientFactory::class)->s3();
$response = $s3->putObject(new PutObjectInput([
'Body' => StreamFactory::create($filePath),
'Metadata' => ['key' => 'value'],
]));
// Async! No blocking I/O.
```"
How can I help you explore Laravel packages today?