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
KeyStrategyDigest
which 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 AzureBlobStoreConfiguration
config
protected DigestConfiguration
digestConfiguration
static String
STORE_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 void
close()
Closes this blob provider and releases resources that may be held by it.protected BlobStore
getBlobStore(String blobProviderId, Map<String,String> properties)
protected String
getDigestAlgorithm()
The digest algorithm to use for the default key strategy.String
getStoreScrollName()
Gets the name of the scroll to scroll the blobs of the underlying blob store.URI
getURI(ManagedBlob blob, BlobManager.UsageHint hint, javax.servlet.http.HttpServletRequest servletRequest)
Gets anURI
for the content of a managed blob.protected URI
getURIAzure(String key, ManagedBlob blob, Date expiration)
Gets a URI for the given blob for direct download.protected URI
getURICDN(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:BlobProvider
Closes 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:
getBlobStore
in classBlobStoreBlobProvider
- Throws:
IOException
-
getDigestAlgorithm
protected String getDigestAlgorithm()
Description copied from class:BlobStoreBlobProvider
The digest algorithm to use for the default key strategy.- Specified by:
getDigestAlgorithm
in classBlobStoreBlobProvider
-
getStoreScrollName
public String getStoreScrollName()
Description copied from class:BlobStoreBlobProvider
Gets the name of the scroll to scroll the blobs of the underlying blob store.- Overrides:
getStoreScrollName
in classBlobStoreBlobProvider
-
getURI
public URI getURI(ManagedBlob blob, BlobManager.UsageHint hint, javax.servlet.http.HttpServletRequest servletRequest) throws IOException
Description copied from interface:BlobProvider
Gets anURI
for the content of a managed blob.- Parameters:
blob
- the managed blobhint
-BlobManager.UsageHint
servletRequest
- the servlet request, ornull
- Returns:
- the
URI
, ornull
if 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
-
-