2017 © Pedro Peláez
 

library azure-blob-storage

Small library to access Microsoft Windows Azure Blob Storage with a Service or a StreamWrapper.

image

beberlei/azure-blob-storage

Small library to access Microsoft Windows Azure Blob Storage with a Service or a StreamWrapper.

  • Monday, May 21, 2012
  • by beberlei
  • Repository
  • 3 Watchers
  • 20 Stars
  • 12,483 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 8 Forks
  • 4 Open issues
  • 2 Versions
  • 10 % Grown

The README.md

Azure Blob Storage

Small platform-independent library that allows you to work with Windows Azure Blob Storage from PHP., (*1)

You can work with Windows Azure Blob from any platform (Windows or Linux) and only need an Azure storage account to get started., (*2)

Features:, (*3)

  • Programmatic API to work with files/blobs
  • Streamwrapper
  • Containers Management (Private or Public)
  • ACLs

The code is forked and adapted from the PHP Azure SDK. It is cleaned up and stripped from all the PHP Azure SDK dependencies to be very leightweight., (*4)

Installation

Suggested via composer:, (*5)

{
    "require": {
        "beberlei/azure-blob-storage": "*"
    }
}

Then using the composer binary:, (*6)

prompt> php composer.phar install

Configuration

<?php
use Beberlei\AzureBlobStorage\BlobClient;

$accountUrl  = "http://myaccount.blob.storage.windows.net";
$accountName = "myaccount";
$accountKey  = "abcdefg";

$client = new BlobClient($accountUrl, $accountName, $accountKey);

// With Dev-Storage (localhost:10000)
$client = new BlobClient();

Usage

Container API

Containers are equivalent to harddrives with a name in Azure Blob Storage. You have to create a container before being able to store files:, (*7)

<?php
$container = "testing";

if ( ! $client->containerExists($container)) {
    $client->createContainer($container);
}

$client->createContainerIfNotExists($container);
$client->deleteContainer($container);

You can also set/get arbitrary metadata for a container:, (*8)

<?php
$container = "testing_metadata";
$metadata = array('x-ms-application-user' => 'beberlei');

$client->createContainer($container, $metadata);
$metadata = $client->getContainerMetadata($container);
$metadata['x-ms-another-header'] = 'value';

$client->setContainerMetadata($container, $metadata);

Blob API

A container holds blobs (files) with names. Azure Blob Storage has no concept of directories within a container, but you can just use "/" (Yes, not "\") as seperator to simulate them., (*9)

<?php
$container = 'testing_blob';
$client->createContainerIfNotExists($container);

$blobFileName = '/path/to/testing.gif';

$client->putBlob($container, 'testing.gif', $blobFileName);
$client->putBlobData($container, 'testing.gif', file_get_contents($blobFileName));

$client->copyBlob($container, 'testing.gif', $container, 'testing2.gif');

$blob = $client->getBlobInstance($container, 'testing2.gif');
// $blob instanceof Beberlei\AzureBlobStorage\BlobInstance

$localFileName = sys_get_temp_dir() . '/testing2.gif';
$client->getBlob($container, 'testing2.gif', $localFileName);

$data = $client->getBlobData($container, 'testing2.gif');

$blobs = $client->listBlobs($container, 'testing');
// array of Beberlei\AzureBlobStroage\BlobInstance

$client->deleteBlob($containerName, 'testing.gif');
$client->deleteBlob($containerName, 'testing2.gif');

By default Azure Blob Storage creates Block Blobs and not Page Blobs. You can use the $client->putPageBlob() API to create page blobs., (*10)

Streamwrapper

To register the stream wrapper for Windows Azure Blob-Storage you have to define a prefix:, (*11)

<?php
use Beberlei\AzureBlobStorage\BlobClient;
$client = new BlobClient();

$client->registerStreamWrapper('azure');

file_put_contents('azure://test.txt', 'Hello World!');

The Versions

21/05 2012

dev-master

9999999-dev

Small library to access Microsoft Windows Azure Blob Storage with a Service or a StreamWrapper.

  Sources   Download

New BSD

The Requires

 

by Benjamin Eberlei

cloud storage azure streamwrapper windows

07/05 2012

v1.0

1.0.0.0

Small library to access Microsoft Windows Azure Blob Storage with a Service or a StreamWrapper.

  Sources   Download

New BSD

by Benjamin Eberlei

cloud storage azure streamwrapper windows