Weave 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
Storage Blob

Storage Blob Laravel Package

azure-oss/storage-blob

A community-maintained PHP SDK for Azure Blob Storage supporting containers, blobs, leases, tags, versions, and SAS generation, with connection string, shared key, SAS, and Entra ID auth plus Azurite emulator support.

View on GitHub
Deep Wiki
Context7

Azure Blob Storage PHP SDK

Frequently asked questions about Storage Blob
How do I install azure-oss/storage-blob in a Laravel application?
Install it with composer require azure-oss/storage-blob. The package requires PHP 8.0 or newer, so confirm your Laravel runtime meets that before adding it. After installation, bind BlobServiceClient in AppServiceProvider or resolve it directly in services and jobs.
How do I connect Laravel to Azure Blob Storage using a connection string?
Use BlobServiceClient::fromConnectionString with a value stored in .env, such as AZURE_STORAGE_CONNECTION_STRING. Keep the connection string out of version control and rotate keys through your secret management process. The package also supports shared key credentials and SAS for delegated access.
Does azure-oss/storage-blob support Microsoft Entra ID and SAS authentication?
Yes. Token-based Microsoft Entra ID authentication is supported through the azure-oss/azure-identity package. You register an application in Entra ID and pass the credential when constructing the client. SAS tokens are also supported for time-limited delegated access.
Can I use azure-oss/storage-blob as a Laravel filesystem disk?
There is no built-in Laravel filesystem adapter. You can create a custom adapter extending Illuminate\Filesystem\FilesystemAdapter and register it with Storage::extend('azure', ...) using the package's BlobServiceClient. This lets Storage facade calls work while keeping Azure-specific features available directly.
How do I upload large files or streams to Azure Blob Storage in Laravel?
The SDK can upload from strings or streams and exposes upload options for transfer tuning on large files. For very large uploads, implement chunked or block-based uploads and dispatch them through Laravel queues. Use streaming downloads to avoid loading entire blobs into memory.
Can I manage containers, blobs, leases, tags, versions, and soft delete with this package?
Yes. The package supports container create and delete, blob listing with prefix and hierarchical modes, leases, tags, versions, metadata, and soft delete restore for containers and blobs. You can also copy blobs synchronously or asynchronously. These operations are exposed through container and blob client objects.
Is azure-oss/storage-blob compatible with Laravel 9, 10, and 11?
The package requires PHP 8.0 or newer and is compatible with Laravel 9 and later. It is a framework-agnostic SDK, so it works in any Laravel version that satisfies the PHP requirement. Test your specific Laravel minor version during the pilot phase.
How do I test Azure Blob Storage integration in Laravel using Azurite or mocks?
For local development, point the connection string at the Azurite emulator and run your integration tests against it. For unit tests, mock BlobServiceClient with Mockery or Laravel's Mocker and assert the expected calls. Avoid hitting a real Azure Storage account in CI.
Is azure-oss/storage-blob production-ready and actively maintained?
It is community-maintained and explicitly not affiliated with, endorsed by, or supported by Microsoft. The package is a subtree split of the AzureOss\Storage\Blob component, which keeps its scope focused. Pin versions, review release notes, and have a fallback plan for long-term support.
What are the alternatives to azure-oss/storage-blob for Laravel?
Alternatives include Microsoft's official Azure Storage SDK for PHP, Flysystem Azure adapters such as league/flysystem-azure-blob-storage, and S3-compatible storage. Choose based on whether you need a Laravel filesystem adapter, official vendor support, or broader feature coverage. The community package is lightweight but has less adoption evidence.
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.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log