lib/Beberlei/AzureBlobStorage/BlobClient.php
public function snapshotBlob($containerName = '', $blobName = '', $metadata = array(), $additionalHeaders = array())
    {
        Assertion::notEmpty($containerName, 'Container name is not specified');
        self::assertValidContainerName($containerName);
        Assertion::notEmpty($blobName, 'Blob name is not specified.');
        self::assertValidRootContainerBlobName($containerName, $blobName);

        $headers = array();
        foreach ($additionalHeaders as $key => $value) {
            $headers[$key] = $value;
        }

        $resourceName = self::createResourceName($containerName , $blobName);

        $response = $this->performRequest($resourceName, array('comp' => 'snapshot'), 'PUT', $headers, false, null, self::RESOURCE_BLOB, self::PERMISSION_WRITE);
        if ( ! $response->isSuccessful()) {
            throw new BlobException($this->getErrorMessage($response, 'Resource could not be accessed.'));
        }

        return $response->getHeader('x-ms-snapshot');
    }
public function snapshotBlob($containerName = '', $blobName = '', $metadata = array(), $additionalHeaders = array())
    {
        Assertion::notEmpty($containerName, 'Container name is not specified');
        self::assertValidContainerName($containerName);
        Assertion::notEmpty($blobName, 'Blob name is not specified.');
        self::assertValidRootContainerBlobName($containerName, $blobName);

        $headers = array();
        foreach ($additionalHeaders as $key => $value) {
            $headers[$key] = $value;
        }

        $resourceName = self::createResourceName($containerName , $blobName);

        $response = $this->performRequest($resourceName, array('comp' => 'snapshot'), 'PUT', $headers, false, null, self::RESOURCE_BLOB, self::PERMISSION_WRITE);
        if ( ! $response->isSuccessful()) {
            throw new BlobException($this->getErrorMessage($response, 'Resource could not be accessed.'));
        }

        return $response->getHeader('x-ms-snapshot');
    }
Snapshot blob

@param string $containerName      Container name
@param string $blobName           Blob name
@param array  $metadata           Key/value pairs of meta data
@param array  $additionalHeaders  Additional headers. See http://msdn.microsoft.com/en-us/library/dd179371.aspx for more information.
@return string Date/Time value representing the snapshot identifier.
@throws BlobException