我正在开发一个Android移动应用程序,该应用程序用于上传图像并将其保存在s3中。当我上传照片时,我正在为该图像生成一个预先签名的URL并将该URL保存在数据库中,以便每当应用程序加载时,都会从数据库中调用保存的URL并显示该图像。签名的URL出现错误,指出令牌已过期。我需要使用上传时生成的URL从s3访问图像
答案 0 :(得分:1)
出于安全目的,预签名URL具有与之相关联的到期时间,您可以在创建预签名URL时指定它们。在有效期内,您可以设置的最小值为1,最大值为604800(七天)。 (请参见https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
虽然您没有提到为预签名URL设置的到期时间,但通常来说,生成URL,将其存储在数据库中并在应用程序中使用该URL的方法注定会失败。您应该考虑动态计算URL(通过存储文件的位置详细信息),或者通过跟踪URL何时过期(在数据库中可能有一个到期时间字段)并根据需要更新URL来进行优化< / p>