Blob Store support
------------------
Key: AMDATU-428
URL: http://jira.amdatu.org/jira/browse/AMDATU-428
Project: Amdatu
Issue Type: New Feature
Reporter: Paul Bakker
We need some way to work with Blob Store providers such as Amazon S3.
I've implemented this and checked in to the sandbox:
https://subversion.amdatu.org/svn/amdatu/sandbox/paulb
The service is built on jclouds, so any Blob Store support by jclouds can be
used. The service exposes the jclouds API directly. Jcloud already is an
abstraction so it doesn't make sense to create another abstraction on top of
this. If we would provide our own abstraction we would either copy the jclouds
API or loose a lot of jcloud's functionality. If we need to support additional
stores we can add them to jclouds.
The jclouds API is exposed via an OSGI service (BlobStoreService). Jclouds has
to be configured with a username/password etc. to work with a specific blob
store. For this I have created a Managed Service Factory. As soon as the
Factory finds configuration for a specific store it instantiates a service
specifically for that store. To use this service you have to go through the
following steps:
-Add configuration (using Config Admin) for the provider containing: provider,
identity and secret. The provider must be one of the providers supported by
jclouds.
-Lookup the service
{code}
dependencyManager.add(createComponent().setImplementation(BlobStoreClient.class)
.add(createServiceDependency().setService(BlobStoreService.class,
BlobStoreService.Providers.AWS_S3.getAsServiceFilter()).setRequired(true)));
{code}
>From there you just use the jclouds API, for example:
{code}
BlobStoreContext blobStoreContext = blobStoreService.getContext();
BlobStore blobStore = blobStoreContext.getBlobStore();
PageSet<? extends StorageMetadata> amdatu = blobStore.list("amdatu");
for (StorageMetadata storageMetadata : amdatu) {
System.out.println(storageMetadata.getName());
}
{code}
Let me know what you think!
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
http://jira.amdatu.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers