Drupal is a registered trademark of Dries Buytaert
cms 2.1.0 Update released for Drupal core (2.1.0)! menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). editoria11y 2.2.21 Minor update available for module editoria11y (2.2.21). eca 3.1.0 Minor update available for module eca (3.1.0). sophron 3.1.1 Minor update available for module sophron (3.1.1). ai 1.3.1 Minor update available for module ai (1.3.1). seven 2.0.0-beta6 New beta version released for theme seven (2.0.0-beta6). seven 1.0.1-beta1 First beta version released for theme seven (1.0.1-beta1). config_distro 2.1.0 Minor update available for module config_distro (2.1.0). editoria11y 3.0.0-beta9 New beta version released for module editoria11y (3.0.0-beta9). crop Module crop crossed 1,000 active installs. entity_reference_revisions Module entity_reference_revisions crossed 1,000 active installs. address Module address crossed 1,000 active installs. admin_toolbar Module admin_toolbar crossed 1,000 active installs. editoria11y 3.0.0-beta8 New beta version released for module editoria11y (3.0.0-beta8). adv_varnish 4.0.15 Minor update available for module adv_varnish (4.0.15). editoria11y 3.0.0-beta7 New beta version released for module editoria11y (3.0.0-beta7). modeler_api 1.1.0 Minor update available for module modeler_api (1.1.0). form_mode_control 8.x-2.6 Minor update available for module form_mode_control (8.x-2.6). symfony_mailer_log 1.2.4 Minor update available for module symfony_mailer_log (1.2.4).

A lightweight, modern Drupal 10/11 integration for Microsoft Azure Blob Storage. This module provides a native azure:// stream wrapper and relies strictly on the Azure REST API, completely replacing the heavy and officially deprecated microsoft/azure-storage-blob PHP SDK.

Features

This module provides a robust, future-proof connection between Drupal and Azure Blob Storage. Its unique features include:

  • Zero Dependencies: It relies entirely on Drupal Core's HTTP client (Guzzle) and avoids the bloat and deprecation warnings of the old Microsoft PHP SDK.
  • Multi-Profile Architecture: Built with Configuration Entities, allowing you to configure multiple Azure connections simultaneously (e.g., one for CDN assets, another for raw data imports/exports).
  • Native Stream Wrapper: Registers the azure:// stream wrapper natively into Drupal. You can seamlessly use Azure Blob Storage with Drupal's Core Media, Image Styles, and File fields.
  • Developer Friendly Service: Exposes an azure_blob_storage.client_factory service for custom module developers to easily interact with blobs (list, get, put, delete) via the Azure REST API using SharedKey authentication.

Post-Installation

Once installed, navigate to Configuration > Web services > Azure Blob Storage Profiles (/admin/config/services/azure-blob-storage).

From there, click "Add Profile" to configure your storage account name, access key, and default container. The UI includes a convenient "Save and Test Connection" button to instantly verify your credentials with Microsoft Azure.

Once your profile is created (e.g., with the machine name cdn_assets), you can immediately start referencing files in code or mapping file fields using the URI prefix: azure://cdn_assets/my-image.jpg.

Additional Requirements

This project is completely self-contained. It requires Drupal 10.3 or higher (or Drupal 11) and PHP 8.1+, as it leverages modern PHP features constraint-free.

It does not require any external Composer libraries, Flysystem adapters, or Microsoft SDKs.

While this module acts as a standalone Stream Wrapper, it is highly recommended to use it alongside Drupal Core's Media and File modules to seamlessly offload heavy digital assets directly to the Microsoft Cloud.

Similar projects

If there are modules providing similar functionality, please describe what differentiates them.

  • Azure Storage: The traditional module for Azure integration. However, it relies heavily on the legacy, officially deprecated microsoft/azure-storage-blob PHP library, which limits PHP 8.3+ compatibility and inflates the vendor directory. Our module solves this by strictly using the lightweight Azure REST API directly via Guzzle.

Supporting this Module

(Leave this empty or add a link if you or Vinci Immobilier plan to accept sponsorships)

Community Documentation

For advanced API usage, you can refer directly to the Azure Blob Storage REST API Reference, as the azure_blob_storage.client_factory service methods closely mirror the official Microsoft endpoints.

Activity

Total releases
1
First release
Mar 2026
Latest release
4 hours ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
1.0.0 Stable Mar 27, 2026