В зависимости от того, как вы спроектировали свое приложение, существует несколько возможных решений вашей проблемы.
В настоящее время не выпущен клиентский SDK Object Storage для Android. Здесь вы можете найти текущие SDK для Object Storage:
https://github.com/ibm-bluemix-mobile-services
В зависимости от настроенной вами серверной части вы можете легко настроить прокси-маршрутизатор, который безопасно подключается к вашему экземпляру службы хранилища объектов и направляет выходные данные на URL-адрес, который может использоваться вашим приложением Android.
Например, используя pkgcloud
и серверную часть Node.js:
routes.js
var vcap_objectstorage = require('../utils/vcap')('Object-Storage'),
objectstorage = require('../modules/objectstorage');
module.exports = function(app) {
var router = app.loopback.Router();
// proxy for object storage service
router.get('/api/Products/image/:container/:file', function(req, res) {
objectstorage(vcap_objectstorage.credentials).download(req.params.container, req.params.file, function(download) {
download.pipe(res);
});
});
app.use(router);
}
objectstorage.js
var pkgcloud = require('pkgcloud');
module.exports = function(creds) {
var config = {
provider: 'openstack',
useServiceCatalog: true,
useInternal: false,
keystoneAuthVersion: 'v3',
authUrl: creds.auth_url,
tenantId: creds.projectId,
domainId: creds.domainId,
username: creds.username,
password: creds.password,
region: creds.region
};
return {
download: function(container, file, cbk) {
var client = pkgcloud.storage.createClient(config);
client.auth(function (error) {
if(error) {
console.error("Authorization error for storage client (pkgcloud): ", error);
}
else {
var request = client.download({
container: container,
remote: file
});
cbk(request);
}
});
}
};
};
person
joe
schedule
26.06.2016