使用CURL调用AWS cloudfront API



是否可以调用AWS cloudfront API与CURL?我想在不安装太多依赖项的情况下触发失效。但是我无法向API发出一个简单的GET请求:

curl -v -X GET 
-H "Date: $(date -R)" 
-H "Authorization: AWS ${CLOUDFRONT_ACCESS_KEY}:$(echo -en ${CLOUDFRONT_ACCESS_KEY} | openssl sha1 -hmac ${CLOUDFRONT_SECRET_ACCESS_KEY} -binary | base64)" 
https://cloudfront.amazonaws.com/2020-05-31/distribution/EMC3WW4JXXXXX/invalidation/IXMUICGG7L77A

结果

<?xml version="1.0" encoding="UTF-8"?>
<ErrorResponse xmlns="http://cloudfront.amazonaws.com/doc/2020-05-31/">
<Error>
<Type>Sender</Type>
<Code>IncompleteSignature</Code>
<Message>Authorization header requires 'Credential' parameter. Authorization header requires 'Signature' parameter. Authorization header requires 'SignedHeaders' parameter. Authorization=AWS AKIAJG77PBXLMN5YQI7A:K62YyDlWiVf/yr44YSs7BbsQYDQ=</Message>
</Error>
<RequestId>f9e5b7de-bce6-4bfd-951e-2986ae5bc1a3</RequestId>
</ErrorResponse>

您可以查看使用Signature Version 4签名AWS请求以对请求进行签名。

加上无效API调用需要更多的参数来进行调用,按照文档

我通常把它保存在方便的地方

最新更新