我需要一种快速方法来确定AWS S3的授权(访问密钥和密钥)是否正确。
我找到了一个缓慢的解决方案:调用AmazonS3Client.getS3AccountOwner将导致签署请求并将其发送到AWS,并在您的访问密钥/密钥不正确时收到失败。不幸的是,这需要200-300毫秒。
我已经找到了一种方法,可以使用下面的代码在60毫秒内在Azure中完成此任务:
final CloudBlobContainer container =
m_client.getContainerReference( UUID.randomUUID().toString() );
container.exists();
S3的上述内容相当于我的目的(或者至少我无法弄清楚如何将它用于我的目的)。任何人都有任何想法,我如何通过我发现的方法减少200-300毫秒的授权是否正确的时间?
答案 0 :(得分:1)
这样的检查不会在AWS中提供任何价值。访问密钥和秘密密钥可以匹配,但是可能没有任何IAM策略,或者可以限制IAM用户的策略。因为密钥有效并不意味着您将能够列出存储桶或使用这些凭据下载文件。
您应检查S3操作的结果,以确定权限是否不足以进行操作,并在此时采取相应措施。