2017-03-29 71 views
0

我已生成使用boto3在我的容器中的一个对象的预签网址:如何使用boto3中预先签名的url从S3获取对象?

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

现在,我怎么get_object它boto3? The boto3's get_object reference没有为预先签名的url指定任何参数。

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

+0

使用'requests'向url发送'GET'请求。 – franklinsijo

+0

预签名url是指让用户直接使用https协议下载它,而不是将api与身份验证令牌密钥一起使用。 – mootmoot

+0

为什么要使用预先签名的URL通过boto检索对象?您通常会向boto提供凭据,以便它可以通过API调用访问内容,而不是预先签署的URL。 –

回答

0

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

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

预签名URL旨在允许具有凭据的人员在没有凭据访问资源的情况下允许其他人访问资源,而不会将凭据公开给他们。

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

相关问题