Monday, September 13, 2010

Amazon S3 curiosity

In preparation for some changes coming to isbndb.com soon I've been moving MARC data to Amazon S3 storage. Loaded 10+ million records just fine, but when I checked the status this morning here is what I saw in the log:

STORAGE_PUT: marc_record/soap/113.mrc
MethodNotAllowed: The specified method is not allowed against this resource.

The unlucky culprit is this book.

As it turns out, you can't place an object with a key that is either equal to "soap" or starts with "soap/". Not using REST API at least. I did not try using SOAP, it might work -- since the problem is likely that S3 considers that URI a SOAP entry point.

Who would have thought that S3 storage is not URI transparent. I re-read the documentation about what's allowed in keys and I don't see that restriction.


Andrew.

2 Comments:

Anonymous Anonymous said...

Just tried to upload such file via S3 Browser and it works well. /marc_record/soap/s3browser-win32.exe

probably you need to check your uploading script.

September 18, 2010 9:12 AM  
Blogger Unknown said...

I was uploading with perl's Net::Amazon::S3. I did looked at the code briefly and it seemed that that error message was coming directly from Amazon, not due to some bug in the perl module.

In the end I fixed my upload/download module to escape sequences that start with "soap". It works fine now.

Possibly s3browser does something like that too.

September 19, 2010 4:59 PM  

Post a Comment

<< Home