Class BlobStoreConnection

  • All Implemented Interfaces:
    AdaptrisComponent, AdaptrisConnection, ComponentLifecycle, ComponentLifecycleExtension, StateManagedComponent

    @ComponentProfile(summary="Connect via apache jclouds to a pluggable cloud storage provider",
                      recommended=BlobStoreConnection.class,
                      tag="blob,s3,azure,backblaze,cloud")
    public class BlobStoreConnection
    extends com.adaptris.jclouds.common.JcloudsConnection
    Interacting with cloud storage via apache jclouds.

    You will need to also have one of the supported providers in your classpath to be able to use this connection. Use the associated provider in your configuration. Note that identity and credentials are not mandatory (and could be overriden via JcloudsConnection.setConfiguration(KeyValuePairSet) or system properties). If not explicitly configured, then those values are left to the underlying provider to make a choice about what credentials will be used to access cloud storage (for the aws-s3 provider, it will always fail if no identity/credentials are provided as it doesn't use the java AWS SDK to handle authentication).

    All the providers supported by jclouds are listed on their website. You should use that as the canonical reference. We have tested the blob storage with 3 different providers (the unit tests use the filesystem provider); and the operations have been confirmed to work.

    • To access AWS-S3 via jclouds you will need to include the artefact org.apache.jclouds.provider:aws-s3:XYZ; where XYZ is the appropriate version; and use the provider aws-s3. This was tested for completeness, using the interlok-aws-s3 optional component is generally the better option.
    • To access Backblaze via jclouds you will need to include the artefact org.apache.jclouds.provider:b2:XYZ; where XYZ is the appropriate version; and use the provider b2
    • To access MS Azure blob storage via jclouds you will need to include the artefact org.apache.jclouds.provider:azureblob:XYZ; where XYZ is the appropriate version; and use the provider azureblob

    In the adapter configuration file this class is aliased as jclouds-blobstore-connection which is the preferred alternative to the fully qualified classname when building your configuration.