Provides AzureBlobStorageSource and AzureBlobStorageCache.
AzureBlobStorageSource maps a URL identifier to a Microsoft Azure Blob Storage blob.
BasicLookupStrategy locates images by passing the URL identifier as-is to the Blob Storage endpoint, with no additional configuration possible.
When your URL identifiers don't match your blob keys, ScriptLookupStrategy is available to tell AzureBlobStorageSource to capture the blob key returned by a method in your delegate class.
This delegate method, azureblobstoragesource_blob_info(), should return a hash containing container and name keys, if an object is available, or nil if not.
Like all sources, AzureBlobStorageSource needs to be able to figure out the format of a source image before it can be served. It uses the following strategy to do this:
HEAD request is sent. If a Content-Type header is present in the response, and is specific enough (i.e. not application/octet-stream), a format is inferred from that.GET request is sent with a Range header specifying a small range of data from the beginning of the resource, and a format is inferred from the magic bytes in the response body.This source supports random access using HTTP Range headers. See the HTTPSource section of the guide for an explanation of this feature.
AzureBlobStorageCache caches variant images and metadata into a Microsoft Azure Blob Storage container.
AzureBlobStorageSource and AzureBlobStorageCache support a variety of authentication methods:
azureblobstoragesource_blob_info() delegate method.config.yml file, shared key
authentication will be used using that key.DefaultAzureCredential class in the Azure SDK—see its documentation for more information.Use the plugin installer:
bin/install_plugin.sh galia-plugin-azurestorageAlternatively, download the plugin directly and extract it into Galia's plugins directory.
Copy the keys from config.yml.sample into your application configuration
file and fill them in.
Copy the azureblobstoragesource_blob_info() method from delegates.rb.sample
into your delegate script file, and implement it there.
If you would like to use AzureBlobStorageCache, you must tell Galia to use it as the variant cache and/or info cache by editing the following keys in your application configuration file:
cache.server.variant.enabled: true
cache.server.variant.implementation: AzureBlobStorageCache
cache.server.info.enabled: true
cache.server.info.implementation: AzureBlobStorageCache