Hi,
I finally spent some time trying to work out why the --add-headers option
didn't seem to work to add the "x-amz-request-payer: requester" header required
to accept charges for access to a requester pays bucket
(http://docs.amazonwebservices.com/AmazonDevPay/latest/DevPayDeveloperGuide/index.html?S3RequesterPays.html).
It seems that any headers specified using the --add-headers option were never
actually used (at least in 'ls' and 'get' and it seems many other commands
too). The following patch works against s3cmd-1.0.0:
--- s3cmd-1.0.0-clean/S3/S3.py 2010-10-24 08:17:22.000000000 -0400
+++ s3cmd-1.0.0-sw/S3/S3.py 2011-03-30 16:44:06.000000000 -0400
@@ -32,6 +32,9 @@
def __init__(self, s3, method_string, resource, headers, params = {}):
self.s3 = s3
self.headers = SortedDict(headers or {}, ignore_case = True)
+ # Add in any extra headers from s3 config object
+ if self.s3.config.extra_headers:
+ self.headers.update(self.s3.config.extra_headers)
self.resource = resource
self.method_string = method_string
self.params = params
and when saved at 'patchfile' you can apply with the following in the unpacked
s3cmd directory:
simeon@homebox s3cmd-1.0.0>cat patchfile | patch -p1
patching file S3/S3.py
With the patch one can then (NOTE YOU'LL BE PAYING A FEW CENTS FOR THIS but the
files do exist and are in requester pays buckets, see:
http://arxiv.org/help/bulk_data_s3):
simeon@homebox s3cmd-1.0.0-sw>./s3cmd
--add-header="x-amz-request-payer:requester" ls
s3://arxiv/pdf/arXiv_pdf_manifest.xml
2011-03-30 20:19 249105 s3://arxiv/pdf/arXiv_pdf_manifest.xml
simeon@homebox s3cmd-1.0.0-sw>./s3cmd
--add-header="x-amz-request-payer:requester" info
s3://arxiv/pdf/arXiv_pdf_manifest.xml
s3://arxiv/pdf/arXiv_pdf_manifest.xml (object):
File size: 249105
Last mod: Wed, 30 Mar 2011 20:19:30 GMT
MIME type:
MD5 sum: 9d1174b740c9eeeebeab6d7ba0773008
ERROR: Access to bucket 'arxiv' was denied
(I assume the error message is because the ACL status is still denied)
simeon@homebox s3cmd-1.0.0-sw>./s3cmd
--add-header="x-amz-request-payer:requester" get
s3://arxiv/pdf/arXiv_pdf_manifest.xml
s3://arxiv/pdf/arXiv_pdf_manifest.xml -> ./arXiv_pdf_manifest.xml [1 of 1]
249105 of 249105 100% in 0s 389.78 kB/s done
whereas without the header (or without the patch) you'll get an denial:
simeon@homebox s3cmd-1.0.0-sw>./s3cmd ls s3://arxiv/pdf/arXiv_pdf_manifest.xml
ERROR: Access to bucket 'arxiv' was denied
Cheers,
Simeon
------------------------------------------------------------------------------
Forrester Wave Report - Recovery time is now measured in hours and minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and vision.
Read this report now! http://p.sf.net/sfu/ibm-webcastpromo
_______________________________________________
S3tools-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/s3tools-general