在将文件传输到AWS S3时处理AWS STS密钥到期?

Sha*_*han 5 .net amazon-s3 session-timeout amazon-web-services aws-sdk

我们已经创建了STS会话令牌系统,用于使用AWS SDK for .Net在AWS S3 Bucket上访问文件,如果传输时间花费了更多时间(文件超过15分钟,则该时间范围实际上是15分钟)(15分钟)。完整上传)我可以创建新密钥并继续上传吗?是否可以使用AWS sdk处理它?

Tom*_*ijs 5

首先,在调用 STS API 的代码中,您可以指定以秒表示的到期时间。默认值确实是 900 秒,但可以手动设置为更高的值。

AWS 要求您的凭证在每次 API 调用开始时都有效,但如果它们在调用过程中到期,则不会中断正在进行的操作。因此,如果您使用 S3 的标准 PUT API,并且一次调用所用的时间比您的凭据的生命周期长,那很好。

在分段上传的情况下,您的原点将发送多个 GET 请求。这些请求中的每一个都代表它想要下载的一小部分数据。如果时间范围已过期,则此后的每个 GET 请求都将被拒绝。

在 AWS 中有多种处理令牌续订的方法。一种方法是在每次请求之前检查令牌并检查它是否已达到例如半衰期。如果有,请使用 STS API 对其进行更新。此示例在此处有所记录。

来源 (Graeme@AWS)