使用访问密钥和密钥的示例Amazon S3获取存储桶请求

时间:2018-08-07 15:58:30

标签: rest amazon-web-services api amazon-s3

我很难理解documentation的有关如何向Amazon S3 API发出请求以检索对象列表的请求。

文档没有显示如何仅使用access keysecret来授权请求​​。有人可以举一个例子吗?最好是我可以在Postman中用来测试的东西。

2 个答案:

答案 0 :(得分:1)

AWS支持两个签名版本:签名版本4和签名版本2。 您应该使用Signature Version4。所有AWS服务都支持Signature Version 4,但Amazon SimpleDB要求Signature Version 2。 所有AWS区域都支持签名版本4。

这是ŁUKASZADAMCZAK的精彩文章,解释了如何使用openssl和curl生成和签名S3请求:

Amazon S3 REST API with curl

答案 1 :(得分:0)

真正的挑战是进行sigv4签名。我真的敦促您使用已建立的SDK之一(您使用的是哪种语言?)。如果没有,则包装对AWS CLI的调用。

如果您真的想自己实现它,我敦促您开源您的努力,以便其他人可以受益。

我首先要设置没有身份验证的存储桶(这样任何人都可以从中读取内容),然后确定如何首先向S3发出请求。您可以在此处看到一些原始的HTTP请求示例:https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html#RESTObjectGET-responses-examples

然后,您将开始有趣的部分,对请求进行sigv4签名。这是一个有据可查的过程,但仍然需要大量努力。 https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html