有没有更简单的方法从aws ec2 get-console-screenshot命令捕获JPEG图像

时间:2017-08-09 12:41:40

标签: amazon-web-services amazon-ec2 boto3 aws-cli

我正在尝试使用此命令aws ec2 get-console-screenshot --instance-id <i-0922..>

捕获AWS Instance屏幕截图

该命令为我提供了一些带有InstanceIdImageData字段的json输出。

ImageData字段包含base64编码形式的图片,根据其官方文档http://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-screenshot.html

但我希望命令将图像作为文件提供,我该如何实现?

现在我通过解码ImageData base64内容并将其放在带有.jpg扩展名的文件中尝试了一些黑客攻击,它有效!

cat /tmp/myimage.jpg | base64 --decode > /tmp/myimagedecode.jpg # here file /tmp/myimage.jpg contains the content of ImageData field

AWS可以提供​​一些简单的方法吗?

2 个答案:

答案 0 :(得分:1)

这对我有用:

aws ec2 get-console-screenshot --instance-id i-XXXXXXX  --query "ImageData" --output text | base64 --decode > out.jpg    

答案 1 :(得分:0)

因此,对于遇到此问题并且正在迅速寻找神奇咒语的其他人,我认为您的原始问题有最佳解决方案,但它可以放在一行:

 aws ec2 get-console-screenshot --instance-id <i-00xxxxxx> | base64 --decode > remote-capture.jpeg