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
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
FieldsModifier and TypeFieldDescriptionprotected AzureBlobStoreConfigurationprotected DigestConfigurationstatic final StringFields inherited from class org.nuxeo.ecm.core.blob.BlobStoreBlobProvider
DIGEST_KEY_STRATEGY, KEY_STRATEGY_PROPERTY, MANAGED_KEY_STRATEGY, storeFields inherited from class org.nuxeo.ecm.core.blob.AbstractBlobProvider
blobProviderId, properties -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this blob provider and releases resources that may be held by it.protected static StringgenerateSASUrl(com.azure.storage.blob.BlobClient sourceBlob, String contentDisposition, String contentType, long expirationSeconds) protected BlobStoregetBlobStore(String blobProviderId, Map<String, String> properties) protected StringThe digest algorithm to use for the default key strategy.Gets the name of the scroll to scroll the blobs of the underlying blob store.getURI(ManagedBlob blob, BlobManager.UsageHint hint, javax.servlet.http.HttpServletRequest servletRequest) Gets anURIfor the content of a managed blob.protected URIgetURIAzure(String key, ManagedBlob blob, long downloadExpireSeconds) Gets a URI for the given blob for direct download.protected URIgetURICDN(String key, ManagedBlob blob, long downloadExpireSeconds) 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, getFile, getKeyStrategy, getStream, getStream, initialize, isValidKey, readBlob, stripBlobKeyPrefix, stripBlobKeyVersionSuffix, supportsSync, updateBlob, writeBlob, writeBlobMethods inherited from class org.nuxeo.ecm.core.blob.AbstractBlobProvider
allowByteRange, getProperties, hasCreateFromKeyPermission, isColdStorageMode, isRecordMode, isTransactional, isTransient, supportsUserUpdate, supportsUserUpdateDefaultFalse, supportsUserUpdateDefaultTrueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.nuxeo.ecm.core.blob.BlobProvider
canConvert, getAppLinks, getAvailableConversions, getBinaryManager, getStatus, getThumbnail, isVersion, performsExternalAccessControl, readBlob
-
Field Details
-
STORE_SCROLL_NAME
- See Also:
-
digestConfiguration
-
config
-
-
Constructor Details
-
AzureBlobProvider
public AzureBlobProvider()
-
-
Method Details
-
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
Description copied from class:BlobStoreBlobProviderThe digest algorithm to use for the default key strategy.- Specified by:
getDigestAlgorithmin classBlobStoreBlobProvider
-
getStoreScrollName
Description copied from class:BlobStoreBlobProviderGets the name of the scroll to scroll the blobs of the underlying blob store.- Specified by:
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, long downloadExpireSeconds) throws IOException Gets a URI for the given blob for direct download via CDN.- Throws:
IOException
-
getURIAzure
protected URI getURIAzure(String key, ManagedBlob blob, long downloadExpireSeconds) throws IOException Gets a URI for the given blob for direct download.- Throws:
IOException
-
generateSASUrl
-