?

Log in

No account? Create an account
entries friends calendar profile My Website Previous Previous Next Next
Mark Atwood
fallenpegasus
fallenpegasus
The state of the MySQL AWS S3 storage engine
  • Features
    • can now do inserts
    • could do single row reads a few days ago
  • Bugs
    • need to URL encode the bucket name and the item name (D'oh!)
      • phear that S3 doesn't get non-ASCII keys right anyway
    • how do I get the HTTP return code?
      • can't tell if an upload went ok or not
      • can't tell the difference between a successful GET and "not found"
  • To Do
    • need to remove the hardcoded AWS credentials
    • clean up Field object selection
    • push a release to hg
  • Next Features
    • implement rnd* and position methods
      • will involve parsing the bucket contents XML
  • On The Horizon
    • enforce schema constraints
    • access to the Content-Type, Last-Modified-Date, metadata, and ACL
    • libCURL connection sharing/reuse
    • HTTPS
    • cerificate auth
    • gz transfer encoding
    • gz stored encoding
    • use CREATE SERVER instead of connection string
    • dont get every item in the bucket on a scan
    • client-side caching
    • relaxed schema (multiple data columns)
    • dont get every column if not needed (HTTP ranged GET)
    • secondary keys
    • multiple columns other than just UNIREG

Tags: , ,
Current Location: AlohaHaus, Capitol Hill, Seattle WA

1 comment or Leave a comment
Comments
From: jdcormie Date: April 6th, 2007 05:01 pm (UTC) (Link)

Advice

The HTTP status code is just for compatibility with user-agents that don't understand S3. To really find out what went wrong, look for the S3 error code in the XML response ("NoSuchBucket" for example).

S3 keys are Unicode strings. To address non-ASCII keys using the REST API, put the url-encoding of the UTF-8 encoding of your key into the HTTP Request-URI.
1 comment or Leave a comment