public class WindowsAzureBlobStorageStrategy extends java.lang.Object implements MediaStorageStrategy, MediaStorageInitializer
Strategy which allows to store binaries for Media objects in Windows Azure Blob Store data storage.
Corresponding MediaFolder have to be configured with following properties:
media.folder.{mediaFolderQualifier}.storage.strategy=windowsAzureBlobStorageStrategy
media.folder.{mediaFolderQualifier}.connection=connectionString
media.folder.{mediaFolderQualifier}.public.base.url=publicBaseURL
media.folder.{mediaFolderQualifier}.containerAddress=myContainer
Below is full example for MediaFolder with qualifier win:
media.folder.win.storage.strategy=windowsAzureBlobStorageStrategy media.folder.win.connection=DefaultEndpointsProtocol=http;AccountName=foo;AccountKey=UasidIUAIDUAIODuAOIu9kldaldkaIOAKDa89= media.folder.win.public.base.url=foo.blob.core.windows.net media.folder.win.containerAddress=myContainer
If you have more than one media folders, you can share common settings as follows:
media.globalSettings.windowsAzureBlobStorageStrategy.connection=DefaultEndpointsProtocol=http;AccountName=foo;AccountKey=UasidIUAIDUAIODuAOIu9kldaldkaIOAKDa89= media.globalSettings.windowsAzureBlobStorageStrategy.public.base.url=foo.blob.core.windows.net media.globalSettings.windowsAzureBlobStorageStrategy.containerAddress=myContainer
To control clean on init behavior use following property:
media.globalSettings.windowsAzureBlobStorageStrategy.cleanOnInit = true / false
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CONNECTION_STRING_KEY |
static java.lang.String |
CONTAINER_ADDRESS_KEY |
| Constructor and Description |
|---|
WindowsAzureBlobStorageStrategy() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkStorageConnection()
checks if communication with external media storage is possible.
|
void |
delete(MediaStorageConfigService.MediaFolderConfig config,
java.lang.String location)
Delete media represented by location from the storage.
|
java.io.File |
getAsFile(MediaStorageConfigService.MediaFolderConfig config,
java.lang.String location)
Gets the media data from the storage as file.
|
java.io.InputStream |
getAsStream(MediaStorageConfigService.MediaFolderConfig config,
java.lang.String location)
Gets the media data from the storage as stream.
|
long |
getSize(MediaStorageConfigService.MediaFolderConfig config,
java.lang.String location)
Gets size of media data in bytes.
|
void |
onInitialize()
Prepares media storage on initialization.
|
void |
onUpdate()
Prepares media storage on update.
|
void |
setCleanOnInit(boolean cleanOnInit) |
void |
setLocationHashService(MediaLocationHashService locationHashService) |
void |
setStorageConfigService(MediaStorageConfigService storageConfigService) |
StoredMediaData |
store(MediaStorageConfigService.MediaFolderConfig config,
java.lang.String mediaId,
java.util.Map<java.lang.String,java.lang.Object> metaData,
java.io.InputStream dataStream)
Stores media data into the storage using unique location identifier.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfailOnInitUpdateErrorpublic static final java.lang.String CONNECTION_STRING_KEY
public static final java.lang.String CONTAINER_ADDRESS_KEY
public StoredMediaData store(MediaStorageConfigService.MediaFolderConfig config, java.lang.String mediaId, java.util.Map<java.lang.String,java.lang.Object> metaData, java.io.InputStream dataStream)
MediaStorageStrategymediaId as unique part. mediaId is generated by platform for each upload attempt so it
guarantees uniqueness.store in interface MediaStorageStrategyconfig - media folder configurationmediaId - the media identifiermetaData - the meta data containing additional possible informations like: original filename, MIME, folder pathdataStream - the data stream to storepublic void delete(MediaStorageConfigService.MediaFolderConfig config, java.lang.String location)
MediaStorageStrategydelete in interface MediaStorageStrategyconfig - media folder configurationlocation - the string representation of location of media data in storagepublic java.io.InputStream getAsStream(MediaStorageConfigService.MediaFolderConfig config, java.lang.String location)
MediaStorageStrategygetAsStream in interface MediaStorageStrategyconfig - media folder configurationlocation - the string representation of location of media data in storagepublic java.io.File getAsFile(MediaStorageConfigService.MediaFolderConfig config, java.lang.String location)
MediaStorageStrategygetAsFile in interface MediaStorageStrategyconfig - media folder configurationlocation - the string representation of location of media data in storagepublic long getSize(MediaStorageConfigService.MediaFolderConfig config, java.lang.String location)
MediaStorageStrategygetSize in interface MediaStorageStrategyconfig - media folder configurationlocation - the string representation of location of media data in storagepublic void onInitialize()
MediaStorageInitializeronInitialize in interface MediaStorageInitializerpublic void onUpdate()
MediaStorageInitializeronUpdate in interface MediaStorageInitializerpublic void checkStorageConnection()
MediaStorageInitializercheckStorageConnection in interface MediaStorageInitializerpublic void setCleanOnInit(boolean cleanOnInit)
public void setLocationHashService(MediaLocationHashService locationHashService)
public void setStorageConfigService(MediaStorageConfigService storageConfigService)
Copyright © 2018 SAP SE. All Rights Reserved.