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
Modifier and TypeFieldDescriptionprotected AzureBlobStoreConfiguration
protected DigestConfiguration
static final String
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes this blob provider and releases resources that may be held by it.protected static String
generateSASUrl
(com.azure.storage.blob.BlobClient sourceBlob, String contentDisposition, String contentType, long expirationSeconds) protected BlobStore
getBlobStore
(String blobProviderId, Map<String, String> properties) protected String
The 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 anURI
for the content of a managed blob.protected URI
getURIAzure
(String key, ManagedBlob blob, long downloadExpireSeconds) Gets a URI for the given blob for direct download.protected URI
getURICDN
(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, 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, 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: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
Description copied from class:BlobStoreBlobProvider
The digest algorithm to use for the default key strategy.- Specified by:
getDigestAlgorithm
in classBlobStoreBlobProvider
-
getStoreScrollName
Description copied from class:BlobStoreBlobProvider
Gets the name of the scroll to scroll the blobs of the underlying blob store.- Specified by:
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, 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
-