Package org.nuxeo.ecm.blob.azure
Class AzureBlobProvider
- java.lang.Object
-
- org.nuxeo.ecm.core.blob.AbstractBlobProvider
-
- org.nuxeo.ecm.core.blob.BlobStoreBlobProvider
-
- org.nuxeo.ecm.blob.azure.AzureBlobProvider
-
- All Implemented Interfaces:
BlobProvider
public class AzureBlobProvider extends BlobStoreBlobProvider
Blob provider that stores files in Azure Storage.This implementation only supports
KeyStrategyDigestwhich is the legacy strategy.This implementation does not support transactional mode.
- Since:
- 2023.6
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.nuxeo.ecm.core.blob.BlobStoreBlobProvider
BlobStoreBlobProvider.AutoDeleteFileInputStream
-
-
Field Summary
Fields Modifier and Type Field Description protected AzureBlobStoreConfigurationconfigprotected DigestConfigurationdigestConfigurationstatic StringSTORE_SCROLL_NAME-
Fields inherited from class org.nuxeo.ecm.core.blob.BlobStoreBlobProvider
DIGEST_KEY_STRATEGY, KEY_STRATEGY_PROPERTY, MANAGED_KEY_STRATEGY, store
-
Fields inherited from class org.nuxeo.ecm.core.blob.AbstractBlobProvider
blobProviderId, properties
-
-
Constructor Summary
Constructors Constructor Description AzureBlobProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes this blob provider and releases resources that may be held by it.protected BlobStoregetBlobStore(String blobProviderId, Map<String,String> properties)protected StringgetDigestAlgorithm()The digest algorithm to use for the default key strategy.StringgetStoreScrollName()Gets the name of the scroll to scroll the blobs of the underlying blob store.URIgetURI(ManagedBlob blob, BlobManager.UsageHint hint, javax.servlet.http.HttpServletRequest servletRequest)Gets anURIfor the content of a managed blob.protected URIgetURIAzure(String key, ManagedBlob blob, Date expiration)Gets a URI for the given blob for direct download.protected URIgetURICDN(String key, ManagedBlob blob, Date expiration)Gets a URI for the given blob for direct download via CDN.-
Methods inherited from class org.nuxeo.ecm.core.blob.BlobStoreBlobProvider
allowDirectDownload, deleteBlob, fixupDigest, getBinaryGarbageCollector, getBinaryManager, getFile, getKeyStrategy, getStream, getStream, initialize, isValidKey, readBlob, stripBlobKeyPrefix, stripBlobKeyVersionSuffix, supportsSync, updateBlob, writeBlob, writeBlob
-
Methods inherited from class org.nuxeo.ecm.core.blob.AbstractBlobProvider
allowByteRange, getProperties, hasCreateFromKeyPermission, isColdStorageMode, isRecordMode, isTransactional, isTransient, supportsUserUpdate, supportsUserUpdateDefaultFalse, supportsUserUpdateDefaultTrue
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.nuxeo.ecm.core.blob.BlobProvider
canConvert, getAppLinks, getAvailableConversions, getStatus, getThumbnail, isVersion, performsExternalAccessControl, readBlob
-
-
-
-
Field Detail
-
STORE_SCROLL_NAME
public static final String STORE_SCROLL_NAME
- See Also:
- Constant Field Values
-
digestConfiguration
protected DigestConfiguration digestConfiguration
-
config
protected AzureBlobStoreConfiguration config
-
-
Method Detail
-
close
public void close()
Description copied from interface:BlobProviderCloses this blob provider and releases resources that may be held by it.
-
getBlobStore
protected BlobStore getBlobStore(String blobProviderId, Map<String,String> properties) throws IOException
- Specified by:
getBlobStorein classBlobStoreBlobProvider- Throws:
IOException
-
getDigestAlgorithm
protected String getDigestAlgorithm()
Description copied from class:BlobStoreBlobProviderThe digest algorithm to use for the default key strategy.- Specified by:
getDigestAlgorithmin classBlobStoreBlobProvider
-
getStoreScrollName
public String getStoreScrollName()
Description copied from class:BlobStoreBlobProviderGets the name of the scroll to scroll the blobs of the underlying blob store.- Overrides:
getStoreScrollNamein classBlobStoreBlobProvider
-
getURI
public URI getURI(ManagedBlob blob, BlobManager.UsageHint hint, javax.servlet.http.HttpServletRequest servletRequest) throws IOException
Description copied from interface:BlobProviderGets anURIfor the content of a managed blob.- Parameters:
blob- the managed blobhint-BlobManager.UsageHintservletRequest- the servlet request, ornull- Returns:
- the
URI, ornullif none available - Throws:
IOException
-
getURICDN
protected URI getURICDN(String key, ManagedBlob blob, Date expiration) throws IOException
Gets a URI for the given blob for direct download via CDN.- Throws:
IOException
-
getURIAzure
protected URI getURIAzure(String key, ManagedBlob blob, Date expiration) throws IOException
Gets a URI for the given blob for direct download.- Throws:
IOException
-
-