我想直接从 python 客户端上传/下载文件到 Amazon S3,在一些用户机器上运行。我有一个服务器,托管访问 ID 和密钥,因为它们不能在用户端,可用于生成预签名的 url,并且客户端可以通过 API 连接以请求这些预签名的 url .
我发现了很多 JS 的例子,但在客户端(不是基于 Web)中也没有一个使用 python 的例子。我曾尝试在客户端使用 boto,但似乎没有简单的方法可以利用 boto API,而是使用远程签名对请求进行签名。
有没有办法可以使用 boto 来处理来自客户端的传输?到目前为止,似乎最好的方法是使用 python-requests 构建我自己的客户端,但我认为重新发明轮子听起来很像。
到目前为止,我已经能够对 HmacKeys 进行猴子补丁(来自 boto.auth,在 boto2 中),因此不再需要 provider.secret_key(并且不会引发 NotReadyToAuthenticate())并且我可以覆盖签名,注入 API要求远程签名。但这似乎非常棘手、脆弱且难以维护。boto 还有其他方法可以实现这一目标吗?