We present a new, automated approach to selecting the cloud storage service that best matches each dataset of a given application. Our approach relies on a machine readable description of the capabilities (features, performance, cost, etc.) of each storage system, which is processed together with the user's specified requirements. The result is an assignment of datasets to storage systems, that has multiple advantages: the resulting match meets performance requirements and estimates cost; users express their storage needs using high-level concepts rather than reading the documentation from different cloud providers and manually calculating or estimating a solution. Together with our storage capabilities XML schema we present different use cases for our system that evaluate the Amazon, Azure and local clouds under several scenarios: choosing cloud storage services for a new application, estimating cost savings by switching storage services, estimating the evolution over time of cost and performance and providing information in an Amazon EC2 to Eucalyptus migration. Our application is able to process each use case in under 70 ms; it is also possible to easily expand it to account for new features and data requirements.