我很难理解documentation的有关如何向Amazon S3 API发出请求以检索对象列表的请求。
文档没有显示如何仅使用access key
和secret
来授权请求。有人可以举一个例子吗?最好是我可以在Postman中用来测试的东西。
答案 0 :(得分:1)
AWS支持两个签名版本:签名版本4和签名版本2。 您应该使用Signature Version4。所有AWS服务都支持Signature Version 4,但Amazon SimpleDB要求Signature Version 2。 所有AWS区域都支持签名版本4。
这是ŁUKASZADAMCZAK的精彩文章,解释了如何使用openssl和curl生成和签名S3请求:
答案 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