发布
社区首页 >问答首页 >使用s3中的curl将数据上传到aws s3

使用s3中的curl将数据上传到aws s3
EN

Stack Overflow用户
提问于 2022-11-29 18:10:29
回答 1查看 25关注 0票数 0

我试图使用下面的脚本将数据上传到aws s3,并获得以下错误。

示例脚本

代码语言:javascript
代码运行次数:0
复制
#!/usr/bin/sh
file_to_upload="/home/sraj/Hello10.txt"
bucket="mybucket"
filepath="/${bucket}/${file_to_upload}"
contentType='application\/x-compressed-tar'
dateValue="`date +'%a, %d %b %Y %H:%M:%S %z'`" 
signature_string="PUT\n\n${contentType}\n${dateValue}\n${filepath}"
s3_access_key=xxxxxxxxx
s3_secret_key=yyyyyyyyy
signature_hash=`echo -en ${signature_string} | openssl sha256 -hmac ${s3_secret_key} -binary | base64`
echo "${s3_access_key} : ${s3_secret_key} : ${signature_hash}"
curl -X PUT -T "${file_to_upload}" \
  -H "Host: ${bucket}.s3.amazonaws.com" \
  -H "Date: ${dateValue}" \
  -H "Content-Type: ${contentType}" \
  -H "Authorization: AWS ${s3_access_key}:${signature_hash}" \
  https://${bucket}.s3.amazonaws.com/${file_to_upload}

我认为这与is用户KMS加密选项有关。请帮助我解决上述问题。我对卷发和s3也不太了解。它将对示例代码非常有用。

他们中的一些人提到,这与签名version4问题有关,但我对修复这个问题没有太多的想法。

EN

回答 1

Stack Overflow用户

发布于 2022-11-29 19:16:45

错误表示无效的参数。

我找到了这个链接,我不知道它是否会有帮助。

https://www.gyanblog.com/aws/how-upload-aws-s3-curl/#curl-the-savior`

我看到的唯一不同就是dateValue

我不知道这是否重要,但以防万一,我张贴了这个。

代码语言:javascript
代码运行次数:0
复制
# about the file
file_to_upload=<file you want to upload>
bucket=<your s3 bucket name>
filepath="/${bucket}/${file_to_upload}"

# metadata
contentType="application/x-compressed-tar"
dateValue=`date -R`
signature_string="PUT\n\n${contentType}\n${dateValue}\n${filepath}"

#s3 keys
s3_access_key=<your s3 access key>
s3_secret_key=<your s3 secret key>

#prepare signature hash to be sent in Authorization header
signature_hash=`echo -en ${signature_string} | openssl sha1 -hmac ${s3_secret_key} -binary | base64`

# actual curl command to do PUT operation on s3
curl -X PUT -T "${file_to_upload}" \
  -H "Host: ${bucket}.s3.amazonaws.com" \
  -H "Date: ${dateValue}" \
  -H "Content-Type: ${contentType}" \
  -H "Authorization: AWS ${s3_access_key}:${signature_hash}" \
  https://${bucket}.s3.amazonaws.com/${file_to_upload}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74618488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档