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

Azure Storage Laravel Package

microsoft/azure-storage

Deprecated PHP client libraries for Microsoft Azure Storage (Blob, Table, Queue, File). Provides APIs to create/list/delete containers, blobs, tables, entities, queues, and metadata. In community support until 17 Mar 2024, then retired.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Azure Storage Integration for Legacy PHP Systems: Enables seamless storage (blobs, tables, queues, files) for PHP-based applications hosted on Azure, reducing dependency on custom solutions or third-party libraries.
  • Cost Optimization: Avoids reinventing storage operations (e.g., blob uploads, table queries) by leveraging Azure’s managed infrastructure, reducing operational overhead.
  • Migration Path for Azure SDK for PHP Users: Provides a structured way to transition from the deprecated Azure SDK for PHP to Azure Storage-specific libraries, ensuring compliance with Azure’s evolving ecosystem.
  • Use Cases:
    • Media Storage: Efficiently manage user uploads (e.g., images, videos) via blob storage.
    • NoSQL Data: Use table storage for structured data (e.g., user profiles, session data) without managing databases.
    • Background Jobs: Queue processing for async tasks (e.g., notifications, report generation).
    • File Sharing: Share large files across teams via file shares (e.g., collaboration tools).
  • Build vs. Buy: Buy—this package eliminates the need to build custom storage connectors, saving dev time and ensuring Azure-native reliability.

When to Consider This Package

  • Adopt if:
    • Your PHP app is hosted on Azure and needs to interact with Azure Storage (blobs, tables, queues, files).
    • You’re migrating from the deprecated Azure SDK for PHP or need a lightweight alternative.
    • Your team lacks expertise in building custom storage connectors or maintaining them long-term.
    • You require scalable, serverless storage without managing infrastructure (e.g., for media, logs, or NoSQL data).
  • Look Elsewhere if:
    • Your app uses non-Azure storage (e.g., AWS S3, Google Cloud Storage)—opt for vendor-specific SDKs.
    • You need active development/support—this package is archived (retiring March 2024); migrate to Azure SDK for PHP or modern alternatives.
    • Your PHP version is <5.6 or lacks required extensions (openssl, mbstring, etc.).
    • You require advanced features (e.g., big file support >2GB) not covered here—upgrade to PHP 7 (64-bit).
    • You prefer non-Microsoft cloud providers (e.g., AWS, GCP).

How to Pitch It (Stakeholders)

For Executives: "This package lets us leverage Azure Storage (blobs, tables, queues, files) directly from PHP—cutting dev time, reducing costs, and ensuring scalability without managing our own storage infrastructure. It’s ideal for media storage, NoSQL data, and background jobs, with a clear migration path from legacy SDKs. However, note it’s deprecated post-March 2024, so we’ll need to plan a transition to Azure’s modern SDK."

For Engineering: *"The microsoft/azure-storage package provides a battle-tested, MIT-licensed way to interact with Azure Storage in PHP. Key benefits:

  • Simplifies storage ops: Handle blobs (uploads/downloads), tables (NoSQL queries), queues (async jobs), and files (shares) with minimal code.
  • Performance: Built on Guzzle HTTP client with retry logic for resilience (e.g., exponential backoff).
  • Security: Supports SAS tokens, AAD auth, and HTTPS with custom CA certs for compliance.
  • Legacy support: Works with PHP 5.6+ and Guzzle 6/7, but migrate soon—it’s archived. Tradeoff: Limited to Azure; avoid if using other clouds or needing active maintenance."*

For Developers: *"Use this to:

  1. Store files: Upload/download blobs (e.g., user avatars) with metadata/leases.
  2. Query data: Run OData queries on tables (e.g., WHERE PartitionKey = 'user').
  3. Process jobs: Push/pull messages from queues (e.g., getMessages()).
  4. Share files: Manage file shares/directories (e.g., team collaboration). Example:
$blobClient = BlobRestProxy::createBlobService($connectionString);
$blobClient->createBlockBlob('container', 'file.txt', fopen('local.txt', 'r'));

Pro Tip: Add retry middleware for transient failures:

$retryMiddleware = RetryMiddlewareFactory::create(
    RetryMiddlewareFactory::GENERAL_RETRY_TYPE,
    3, // retries
    1000 // ms
);
$blobClient->pushMiddleware($retryMiddleware);

Warning: This SDK is deprecated—plan to switch to Azure SDK for PHP before March 2024."*

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.
craftcms/url-validator
directorytree/privacy-filter-classifier
directorytree/privacy-filter
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
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony