Cloud Storage Plugin

OVERVIEW

The Cloud Storage plugin allows you to easily integrate with many popular online cloud storage providers, such as Amazon S3, Azure Blob storage, Google storage, Rackspace Cloudfiles, generic S3 providers, as well as FTP or SFTP services.

The convenience of this plugin is that it provides the exact same API to all the different cloud providers, allowing you to easily integrate with one or all of them.

List of supported services:

FTP, FTPS, SFTP, WebDAV, S3, Azure, Backblaze B2, Rackspace, Google Cloud, Google Drive, Dropbox, OneDrive, SharePoint Online, Wasabi, Nextcloud, ownCloud

Cloud Storage Features:

  • Connect to any bucket by region, where necessary
  • List objects by bucket/folder
  • Get object details, such as name, date created and modified, etags, and size
  • Add new objects
  • Download object
  • Delete objects

BENEFITS

  • Store objects in cloud storage and just maintain a link to them from your Servoy Application
  • Allow each of your customer to connect to their own cloud storage provider by securely storing their access keys, allowing each of your customers access to their cloud files through your app!

COMPATIBILITY

Smart client Headless client Web client Mobile client NG client
8.0+ 9+
7.0+ 9+ n/a
6.1+ 9+ n/a n/a

DOCUMENTATION

We published our API Specifications for the AWS Plug-in as a future and current reference.

Works with any of the providers, just change the provider type from plugins.it2be_cloud_storage.PROVIDERS.SFTP to any of the other supported cloud providers.

var provider = plugins.it2be_cloudstorage.PROVIDERS.SFTP;
var client = plugins.it2be_cloudstorage.createClient(provider, "server.com", "user", "pass", null, 22)
var session = client.createSession();
var allFiles = session.list(); //Can iterate over the files array
var uploadFiles = session.list("/upload"); //Can iterate over the files array
session.put("C:\\path\\to\\file.txt", "/path/to/file.txt"); //Upload a file
session.mv("/path/to/file.txt", "/path/to/renamed_file.txt"); //Move a file
session.get("/path/to/file.txt", "C:\\path\\to\\file.txt"); //Download a file
session.rm("/path/to/file.txt"); //Delete a file
session.disconnect();

With Files.com service, it can act as middleware to many other cloud file storage services.  The plugins supports the secure FTPS option for Files.com

var provider = plugins.it2be_cloudstorage.PROVIDERS.FTP_TLS; 
var client = plugins.it2be_cloudstorage.createClient(provider, "yourcompany.files.com", "user", "pass", null, 21);
var session = client.createSession(); 
var allFiles = session.list(); 
var uploadFiles = session.list("/upload");  //Can iterate over the files array 
session.put("C:\\path\\to\\file.txt", "/path/to/file.txt"); //Upload a file
session.mv("/path/to/file.txt", "/path/to/renamed_file.txt"); //Move a file
session.get("/path/to/file.txt", "C:\\path\\to\\file.txt"); //Download a file 
session.rm("/path/to/file.txt"); //Delete a file 
session.disconnect();

FAQ

What credentials do I use for the cloud providers?

See our Knowledge Base Article Here
Some providers, like OneDrive, which authenticate with end user credentials (not server-side credentials) use oAuth, so you’ll need to be authenticating users via oAuth with those services in order to pass an oAuth token for authentication.

Why doesn't it work in Servoy Developer?

Currently it requires Java 9 or higher.  Make sure you are using that version or higher for your Servoy Developer installation.

Will it work with ngClient or Web Cllient?

Yes, it will run server-side.  So documents will get streamed from the browser to the Servoy Server, and then to the cloud.

Will it work with the Smart Client?

Yes, you can have the cloud integration to happen client-side.  You may also run the plugin server-side via batch processors, RESTful services, and headless clients.

RELEASE NOTES



BUY NOW

Developer

$600

One developer & unlimited deployment

  • +35% p/y
    maintenance fee

Site

$1,300

Team of developers & unlimited deployment

  • +35% p/y
    maintenance fee