【发布时间】:2019-10-20 07:03:36
【问题描述】:
我想使用 boto3 将文件上传到 AWS S3。但我只能临时访问 S3,由不受我控制的网络服务提供。我获得了以下凭据信息:
{
"key": <string>,
"x-amz-algorithm": <string>,
"x-amz-credential": <string>,
"x-amz-date": <string>,
"policy": <string>,
"x-amz-signature": <string>
}
据我所知,这些信息可用于例如 POST 请求。但我无法找出如何结合 boto3 命令使用此信息
s3 = boto3.client('s3')
通常需要 aws_access_key_id 和 aws_secret_access_key。 这篇帖子here 建议,这应该是可能的:
您应该通过 AWS 安全令牌服务 (STS) 生成临时凭证,而不是签署 URL(通常在通过 Web 浏览器进行调用时使用)
[...]
然后,您的 Python 应用将在调用 boto 时使用这些凭据
但我不知道如何为 boto 客户端提供临时凭据。
【问题讨论】:
标签: python amazon-web-services boto3