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:
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.
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:
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.
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.
Post a Comment
<< Home