我已经使用boto3为其中一个存储桶中的对象生成了一个预签名的url:

s3.generate_presigned_url('get_object', Params = {'Bucket': 'https://s3.amazonaws.com/<>', 'Key': '<>.json'}, ExpiresIn = 100)


现在,我该如何在boto3中get_objectThe boto3's get_object reference没有为预签名的URL指定任何参数。

那么,如何使用boto3中的预签名网址从S3获取该对象?

最佳答案

如果您有一个预先签名的URL,则不需要boto,您可以使用任何HTTP用户代理库下载该对象。

相反,如果您拥有boto和凭据,则不需要预先签名的URL。

预签名URL旨在允许具有凭据的人启用没有凭据的其他人访问资源,而无需将凭据暴露给他们。

预先签名的URL包括访问密钥ID和可能的会话令牌,但不包括访问密钥秘密,并且在计算上对反向工程不可行...因此,从这个意义上讲,它们不公开凭据的方式允许拥有预签名URL的实体将关联的凭据用于任何其他目的。

关于python - 如何使用boto3中的预签名URL从S3获取对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43085610/

10-17 00:08