有没有办法使用AWS CLI为S3对象生成预签名URL?

dan*_*dan 17 amazon-s3 amazon-web-services aws-cli

我查看了文档aws s3,aws s3api但是我看不到任何与生成预签名网址相关的内容.AWS Web文档仅显示使用Java,.Net和VisualStudio执行此操作的示例.

http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURLJavaSDK.html

Jer*_*oen 8

现在可以在aws cli中找到它:http: //docs.aws.amazon.com/cli/latest/reference/s3/presign.html

  • 这会生成GET请求.如果我想要POST/PUT请求怎么办? (6认同)
  • @Jeroen @ alexander-klimetschek可能,但是有点黑。首先在`/ usr / local / lib / python2.7 / dist-packages / awscli / customizations / s3 / subcommands.py`中将'get-object'更改为`put-object'。然后,用aws cli来做presign。最后像这样使用`Curl`:`echo toto | curl --data-binary @-<url> -X PUT -H'Content-Type:'`sdks除了从http库发送字节之外,没有做任何其他事情。 (2认同)

Tit*_*ore 4

我不确定这是否是您正在寻找的......

签署 S3 URL 以提供有限的公共访问(过期)

s3cmd signurl s3://BUCKET/OBJECT <expiry_epoch|+expiry_offset>
Run Code Online (Sandbox Code Playgroud)

http://s3tools.org/usage

它不是直接的AWS API。它是第 3 方工具。