我有一个过程,我得到一个签名的URL,该URL的存储桶在5分钟后过期。一旦获得签名的URL,我就开始将文件上传到存储桶。
可以说,完全上传文件需要6分钟。会发生什么?
到期时间是指该操作(例如下载,上传)何时开始或该操作完成?
答案 0 :(得分:1)
到期时间是指该操作(例如下载,上传)何时开始或该操作完成?
都是:-)
如果该操作是原子操作,并且在链接有效时启动,则即使该链接在该过程中变为无效,此操作也将完成。
但是,如果操作是多步操作(例如,上传多部分文件),则使用无效链接执行的步骤将失败。
答案 1 :(得分:0)
根据您的用例,我以这样的方式对环境进行了模拟:启动上传时,没有错误,但是url过期后上传失败。
以下是我使用预先签名的URL上传时和上传的URL过期时收到的响应:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>Request has expired</Message>
<Expires>2019-12-13T06:45:29Z</Expires>
<ServerTime>2019-12-13T06:45:33Z</ServerTime>
<RequestId>8D0F75A23E9A1EC2</RequestId>
<HostId>CNhlDK4RRVowLZSHdSF7pPJksIhnZdh99M3Sc9aBqnyCxLDlGG3XYMV0GMIdpz1pgM+HKLxsKVE=</HostId>
</Error>
因此很明显,无论上载POST还是PUT,带预签名的url在上传时(如果该URL在那里在那里过期)将不会在AWS s3存储桶控制台中创建任何文件,并且AWS也会给出响应,告知Request Expired < / p>