Class MediaTransportConfigurationAmazonS3

  • All Implemented Interfaces:
    IMediaTransportProviderConfiguration

    public class MediaTransportConfigurationAmazonS3
    extends com.wowza.wms.transport.media.MediaTransportConfigurationBase
    This is a base configuration object for AmazonS3 for the MediaTransport System //Example use
    
    //Create a main transport object
    
    MediaTransport transport = new MediaTransport();
    
    //Create an Amazon Transport Provider
    MediaTransportProviderAmazonS3 amazonTransport = new MediaTransportProviderAmazonS3();
    
    //Create an Amazon Configuration Object
    MediaTransportConfigurationAmazonS3 amazonConfig = new MediaTransportConfigurationAmazonS3();
    
    //Configure the Amazon object with the required parameters
    amazonConfig.setAttributeString(MediaTransportConfigurationAmazonS3.AMZ_CONFIG_BUCKET, "mybucketName");
    amazonConfig.setAttributeString(MediaTransportConfigurationAmazonS3.AMZ_CONFIG_REGION, "bucketRegionName");
    amazonConfig.setAttributeBoolean(MediaTransportConfigurationAmazonS3.AMZ_CONFIG_REGION_ENABLED, true);
    amazonConfig.setAttributeString(MediaTransportConfigurationAmazonS3.AMZ_CONFIG_ACCESSID, "myAmazonAccessKey");
    amazonConfig.setAttributeString(MediaTransportConfigurationAmazonS3.AMZ_CONFIG_SECRETACCESSKEY, "myAmazonSecretKey");
    
    //Add the configuration item to the provider
    amazonTransport.setTransportProviderConfiguration(amazonConfig);
    
    //Set the type of processing to occur, the default is ASYNC, set to SYNC
    //Async will use a thread pool to handle transports, SYNC will block and do them in the order
    //they are provided
    amazonTransport.setTransportProcessType(IMediaTransportProvider.TRANSPORT_PROVIDER_PROCESS_SYNC);
    
    //Initialize the provider
    amazonTransport.init();
    
    //Add the transport provided to the media transport system
    transport.addTransportProvider(amazonTransport);
    
    //You can add multiple transport providers
    
    //To push a data block into the transport system the following example should be followed
    
    //Lets assume you have a byte array, say from loading a file into this array.
    byte[] fileBytes = getBytesFromFile(uploadFile);
    
    //Create a data object and set up various settings.
    MediaTransportDataObject transportDataObject = new MediaTransportDataObject();
    transportDataObject.setPath("/"+filename);
    transportDataObject.setContentType("video/mp4");
    transportDataObject.setData(fileBytes);
    transportDataObject.setCommand("PUT");
    
    //Put the object into the transport system
    trasnport.addTransportDataObject(transportDataObject);
    
    // There are several listeners you can use to determine if the transport provider was added
    // and the return status of the object presented to the system.
    
    • Field Detail

      • AMZ_OBJECT_HEADER_STORAGE_CLASS

        public static final String AMZ_OBJECT_HEADER_STORAGE_CLASS
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_ACCESS_LIST

        public static final String AMZ_OBJECT_HEADER_ACCESS_LIST
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_SECURITY_TOKEN

        public static final String AMZ_OBJECT_HEADER_SECURITY_TOKEN
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_COPY_SOURCE

        public static final String AMZ_OBJECT_HEADER_COPY_SOURCE
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_META_DIRECTIVE

        public static final String AMZ_OBJECT_HEADER_META_DIRECTIVE
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_COPY_SOURCE_IF_MATCH

        public static final String AMZ_OBJECT_HEADER_COPY_SOURCE_IF_MATCH
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_COPY_SOURCE_IF_NONE_MATCH

        public static final String AMZ_OBJECT_HEADER_COPY_SOURCE_IF_NONE_MATCH
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_COPY_SOURCE_IF_UNMODIFIED_SINCE

        public static final String AMZ_OBJECT_HEADER_COPY_SOURCE_IF_UNMODIFIED_SINCE
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_COPY_SOURCE_IF_MODIFIED_SINCE

        public static final String AMZ_OBJECT_HEADER_COPY_SOURCE_IF_MODIFIED_SINCE
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_GRANT_READ

        public static final String AMZ_OBJECT_HEADER_GRANT_READ
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_GRANT_WRITE

        public static final String AMZ_OBJECT_HEADER_GRANT_WRITE
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_GRANT_READ_ACP

        public static final String AMZ_OBJECT_HEADER_GRANT_READ_ACP
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_GRANT_WRITE_ACP

        public static final String AMZ_OBJECT_HEADER_GRANT_WRITE_ACP
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_GRANT_FULL_CONTROL

        public static final String AMZ_OBJECT_HEADER_GRANT_FULL_CONTROL
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_SERVER_ENCRYPT

        public static final String AMZ_OBJECT_HEADER_SERVER_ENCRYPT
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_SERVER_ENCRYPT_KEY_ID

        public static final String AMZ_OBJECT_HEADER_SERVER_ENCRYPT_KEY_ID
        See Also:
        Constant Field Values
      • AMZ_OBJECT_HEADER_SERVER_ENCRYPT_CONTEXT

        public static final String AMZ_OBJECT_HEADER_SERVER_ENCRYPT_CONTEXT
        See Also:
        Constant Field Values
      • AMZ_OBJECT_OPTION_BUCKET

        public static final String AMZ_OBJECT_OPTION_BUCKET
        See Also:
        Constant Field Values
      • AMZ_OBJECT_OPTION_REGION

        public static final String AMZ_OBJECT_OPTION_REGION
        See Also:
        Constant Field Values
      • AMZ_OBJECT_OPTION_REGION_ENABLED

        public static final String AMZ_OBJECT_OPTION_REGION_ENABLED
        See Also:
        Constant Field Values
      • AMZ_CONFIG_REGION_ENABLED

        public static final String AMZ_CONFIG_REGION_ENABLED
        See Also:
        Constant Field Values
      • AMZ_CONFIG_SECRETACCESSKEY

        public static final String AMZ_CONFIG_SECRETACCESSKEY
        See Also:
        Constant Field Values
      • AMZ_CONFIG_SERVICETYPE

        public static final String AMZ_CONFIG_SERVICETYPE
        See Also:
        Constant Field Values
      • AMZ_CONFIG_DOMAIN_SUFFIX

        public static final String AMZ_CONFIG_DOMAIN_SUFFIX
        See Also:
        Constant Field Values
      • AMZ_CONFIG_REQUEST_TYPE

        public static final String AMZ_CONFIG_REQUEST_TYPE
        See Also:
        Constant Field Values
    • Constructor Detail

      • MediaTransportConfigurationAmazonS3

        public MediaTransportConfigurationAmazonS3()
    • Method Detail

      • getTransportHeaderOutput

        public java.util.HashMap<String,​String> getTransportHeaderOutput​(java.util.HashMap<String,​byte[]> dynamictransportinformation,
                                                                               IMediaTransportObject transportObject)
        Description copied from interface: IMediaTransportProviderConfiguration
        This should be called by the transport provider using this configuration item. You can pass in two objects, one is a HashMap and the other is a IMediaTransportObject The result should be a HashMap that the transport provider can then use to process the data block being transported.
        Specified by:
        getTransportHeaderOutput in interface IMediaTransportProviderConfiguration
        Overrides:
        getTransportHeaderOutput in class com.wowza.wms.transport.media.MediaTransportConfigurationBase
        Returns:
        HashMap