'Returns a single node image from a provider.
:param image_id: Either an image urn in the form
`Publisher:Offer:Sku:Version` or a Azure blob store URI in the form
`http://storageaccount.blob.core.windows.net/container/image.vhd`
pointing to a VHD file.
:type image_id: ``str``
:param location: The location at which to search for the image
(if None, use default location specified as \'region\' in __init__)
:type location: :class:`.NodeLocation`
:rtype :class:`.AzureImage`: or :class:`.AzureVhdImage`:
:return: AzureImage or AzureVhdImage instance on success.'

def get_image(self, image_id, location=None):

    if image_id.startswith('http'):
        (storageAccount, blobContainer, blob) = _split_blob_uri(image_id)
        return AzureVhdImage(storageAccount, blobContainer, blob, self)
    else:
        (ex_publisher, ex_offer, ex_sku, ex_version) = image_id.split(':')
        i = self.list_images(location, ex_publisher, ex_offer, ex_sku, ex_version)
        return (i[0] if i else None)
