AWS CLI -“Aws-shell”命名空间对象没有属性:cli_binary_format

lin*_*abe 7 linux command-line-interface amazon-s3 amazon-web-services aws-cli

当我尝试使用aws-shell检查我的 s3 存储桶列表时,出现此错误: 在此输入图像描述

我的环境是[cloudshell-user@ip-10-0-***~]$ aws --version

aws-cli/2.2.43 Python/3.8.8 Linux/4.14.252-195.483.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off

我的 Envir 有什么问题吗?版本?请建议

Chr*_*eth 8

请参阅下面的推荐方法 - 或者 - 继续阅读 aws-shell 的修复程序。

aws-shell 需要 awscli 版本 1 才能正常运行,否则您将收到 cli_binary_format 错误。要解决此问题,您可以在 cloudshell 环境中执行以下操作。

  1. 安装 awscli 版本 1 和 aws-shell:

pip3 install --user -U awscli aws-shell boto3 --use-feature=2020-resolver --no-cache-dir

  1. 更新您的 PATH 以使 awscli 版本 1 成为默认版本:

export PATH=/home/cloudshell-user/.local/bin/:$PATH

但是,更好的解决方案是使用 awscli 版本 2 并启用自动提示功能,如下所述https://github.com/aws/aws-cli/issues/5664

aws configure set cli_auto_prompt on

或者

export AWS_CLI_AUTO_PROMPT=on

然后 awscli 版本 2 的行为将与 aws-shell 类似,提供完成提示等。