Does COS S3 support putBucketLifecycleConfiguration? - ibm-cloud

AWS S3 supports lifecycles for buckets, does this work in Bluemix S3?
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putBucketLifecycleConfiguration-property
When I call it (using the aws-sdk nodejs module), I get back a 400 saying 'The operation requested is not supported'. The docs say a subset of s3 is handled but I'm not sure what ISNT't handled.

No, lifecycle configurations aren't supported at this time. The full list of supported operations is on the API overview page. If you want to, feel free to send me an email (nicholas.lange[at]ibm.com) and let me know what you are trying to do. Having developer feedback makes it easier to advocate for prioritizing new feature work.
Also, FYI, there is a new release of object storage that will be available on the IBM Cloud platform (Bluemix) soon, with IAM permissions and OAuth2 support instead of AWS signatures. The docs will migrate there shortly.

Related

Atomic Update in Cloud Storage APIs?

I am working on an app where I would like to allow users to bring their own cloud storage account. That is, the app needs to work with the APIs for as many cloud storage services as possible.
One feature that seems important is atomic update. The app reads a version of a file from the cloud, makes some changes, then uploads a new version. However, it needs to be able to detect if a concurrent update was made to that file (for example, if the user was concurrently logged in from a different computer). The ifGenerationMatch parameter in the Google Cloud Storage API seems to make this kind of thing possible.
Does anyone know how to accomplish it with other APIs?
Sorry to answer my own question, but I think after months of intermittent digging I found at least a partial answer in the form of a couple HTTP headers:
If-Match
ETag

Is it/when will it be safe to release apps with Google Cloud Storage using JSON API?

I've noticed that the JSON API for Google Cloud Storage is, as it says, "Experimental", and that the URL's I'm supposed to use all have 'v1beta2' in it. It looks like it hasn't been touched since May 7th, and I'm wondering if it's worth creating a new project with this service as primary storage service if I'd want my app to go live in a month or two. Is there a release date somewhere, or is it more like "it'll take as long as it takes"-kinda thing?
Please don't downvote, I wanted to ask this in Google Cloud's own forum as this isn't a programmatic question, but as it turns out - their forum is linking me here to SO asking me to tag with 'google storage' for anything related to it.
The Google Cloud Storage JSON API is marked "experimental" to mark it as an exception to our deprecation policy. As we bring it to full release, there is a chance we may make some changes to the API, and this is why you see the special URLs. We don't have a date yet for full release. You should be able to use it just fine, if you are prepared to migrate your app to the official API when it is released.

Blob Storage Server with REST API

I am looking for a solution similar to Amazon S3 or Azure Blob Storage that can be hosted internally instead of remotely. I don't necessarily need to scale out, but I'd like to create a central location where my growing stable of apps can take advantage of file storage. I would also like to formalize file access. Does anybody know of anything like the two services I mentioned above?
I could write this myself, but if something exists then I'd rather now reinvent the wheel, unless that weel has corners :)
The only real alternative to services like S3 and Azure blobs I've seen is Swift, though if you don't plan to scale out this may be overkill for your specific scenario.
The OpenStack Object Store project, known as Swift, offers cloud storage software so that you can store and retrieve lots of data in virtual containers. It's based on the Cloud Files offering from Rackspace.
The OpenStack Object Storage API is implemented as a set of ReSTful (Representational State Transfer) web services. All authentication and container/object operations can be performed with standard HTTP calls
http://docs.openstack.org/developer/swift/

Using Google App Engine coonfusion

I'm Cococa programmer, but right now I encountered situation when I can't go any further without smarter people:)
I always used small databases in my applciations. I programmed PHP backend on my own server and it worked good.
Right now I have to switch for something much bigger and I decided to try with Google App Engine, because it is relatively cheap and has great scalability.
I'm so confused with documentation and I really don't know where to start.
My new app will store data (images, videos) as well as database (mysql) in google cloud.
I concluded that for app like that I should use:
Google Cloud Storage for images / viedos etc.
Google Cloud SQL for CRUD operations for users (inserting and fetching personal data)
I would prefer to use JSON api. Then I don't have to write any Java, Python or GO code, right? Only REST requests for Google Cloud SQL...
My question is : Am I thinking correctly? Should I use these two services?
Google App Engine has a feature called "Cloud Endpoints" (Java | Python)
that automatically generates a JSON API similar to the APIs that Google provides for its own services (and also generates client libraries in JavaScript, Obj-C, and Java to invoke those APIs), saving you the trouble of writing the REST API yourself and manually serializing/deserializing the request and, instead, focusing on just the business logic that performs the storage and retrieval operations. So, what I would suggest is that you write the code that reads/writes data into the datastore (and cloud storage), but then use Cloud Endpoints to automatically generate your JSON API and client libraries, rather than manually writing that code.
Your plan seems fine so far. Google Cloud Storage is a great choice for storing a large number of images and movies, and Google Cloud SQL is a great choice for handling smaller, more relational data.
If you're using PHP from app engine, there's built-in support for Google Cloud Storage. See https://developers.google.com/appengine/docs/php/googlestorage/
If you're using PHP from your app that lives somewhere else, you could write to the Google Cloud Storage JSON or XML APIs directly, but there's also a PHP library for the Google APIs that might be easier for you to use: https://code.google.com/p/google-api-php-client/

.NET Web Service / API for BLOB/File Storage

I am looking for an API that performs functionality roughly analogous to Rackspace Cloud Files / OpenStack Swift, Microsoft Azure Blob Storage, or Amazon S3 that can be run on a Windows Server.
I am not speaking of all the add-ons including replication, etc, but an API that enables a similar RESTful API for the storage/serving (including Anonymous). Some examples of functionality I like, and would be missing if I rolled my own right now, are:
Rackspace's Large Files support.
Amazon S3's Root Document support.
Microsoft Azure BLOB storage Page Blobs and Authentication.
Options like MongoDB's GridFS are getting close, but wouldn't quite cut it. RavenDB's "Attachments" functionality is pretty close, I understand it only supports up to 2Gb via the ESENT storage engine
Just to clarify, I'm not exactly sure what form this would take. I'm not looking for a pre-built product (which I don't see exists), but perhaps a stub of a project, an open source project planning to provide this functionality, people who might have developed their own similar solution in C#, etc.
We have RavenFS that handles that scenario, I think.
It is a commercial offering, though.