当使用python从S3对象存储库下载时,需要有关如何合并身份验证标头的帮助。我发现了一些使用pycurl和响应模块的文章,但没有一篇对我有用。 FYI不能使用`boto'模块作为运行脚本的最终容器,而python没有模块。
这是一个无缝上传的shell代码,但是我需要从python进行调用,因为这将是从s3对象存储库下载并在使用前按摩数据的更大代码的一部分。
=====
bucket=success
file=sample.csv
contentType="text"
dateValue=`date -R`
s3Key=key
s3Secret=secret
resource="/${bucket}/${file}"
stringToSign="PUT\n\n${contentType}\n${dateValue}\n${resource}"
signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${s3Secret} -binary | base64`
curl -L -X PUT -T "${file}" \
-H "Host: testurl.com/${bucket}" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" \
http://testurl.com/${bucket}/${file}
=====
请仅使用python欣赏任何见解。 我使用的FYI版本是python 2.7。
谢谢你 RD