使用 curl 获取 S3 文件的 MD5 值
Get the MD5 value of an S3 file using curl
为了从 S3 获取特定文件,我使用了如下所示的脚本:
# Get the configuration file
outputfilecfg=XXXX
amzFilecfg=XXXX
bucket=XXXX
resource="/${bucket}/${amzFilecfg}"
contentType="text/plain"
dateValue=`date -R`
stringToSigncfg="GET\n\n${contentType}\n${dateValue}\n${resource}"
s3Key=$S3_KEY
s3Secret=$S3_SECRET
signature=`echo -en ${stringToSigncfg} | openssl sha1 -hmac ${s3Secret} -binary | base64`
curl -H "Host: ${bucket}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" \
https://${bucket}.s3.amazonaws.com/${amzFilecfg} -o $outputfilecfg
现在我希望能够得到
S3 文档指定的对象元数据 (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html)。我希望能够通过 curl 而不是 aws-cli 专门执行此操作。这可能吗?
您可以通过发出 HEAD
请求而不是 GET
请求来仅获取对象元数据。要在 cURL 中发出 HEAD
请求,请使用 -I
选项。
curl -I -H "Host: ${bucket}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" \
https://${bucket}.s3.amazonaws.com/${amzFilecfg} -o $outputfilecfg
有关这两者的更多详细信息,请参阅
HEAD Object
API 的 S3 文档
- cURL manual
为了从 S3 获取特定文件,我使用了如下所示的脚本:
# Get the configuration file
outputfilecfg=XXXX
amzFilecfg=XXXX
bucket=XXXX
resource="/${bucket}/${amzFilecfg}"
contentType="text/plain"
dateValue=`date -R`
stringToSigncfg="GET\n\n${contentType}\n${dateValue}\n${resource}"
s3Key=$S3_KEY
s3Secret=$S3_SECRET
signature=`echo -en ${stringToSigncfg} | openssl sha1 -hmac ${s3Secret} -binary | base64`
curl -H "Host: ${bucket}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" \
https://${bucket}.s3.amazonaws.com/${amzFilecfg} -o $outputfilecfg
现在我希望能够得到 S3 文档指定的对象元数据 (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html)。我希望能够通过 curl 而不是 aws-cli 专门执行此操作。这可能吗?
您可以通过发出 HEAD
请求而不是 GET
请求来仅获取对象元数据。要在 cURL 中发出 HEAD
请求,请使用 -I
选项。
curl -I -H "Host: ${bucket}.s3.amazonaws.com" \
-H "Date: ${dateValue}" \
-H "Content-Type: ${contentType}" \
-H "Authorization: AWS ${s3Key}:${signature}" \
https://${bucket}.s3.amazonaws.com/${amzFilecfg} -o $outputfilecfg
有关这两者的更多详细信息,请参阅
HEAD Object
API 的 S3 文档
- cURL manual