通过CLI为AWS S3存储桶启用服务器端加密策略时出错

时间:2020-03-27 05:50:31

标签: amazon-s3 aws-cli

aws s3api put-bucket-encryption --bucket my-buxket-en --server-s
ide-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault":
{"SSEAlgorithm": "AES256"}}]}'

我遇到错误了

usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: {SSEAlgorithm:, AES256}}]}', [{ApplyServerSideEncryptionByDefau
lt:

请帮助我解决错误

2 个答案:

答案 0 :(得分:0)

我已经检查了您的AWS CLI语法,并且可以尽我所能确认您的语法没有问题。

从错误中发现,该问题与AWS CLI版本更相关,即您很可能使用的是旧版AWS CLI,因此旧版本无法提取必需的参数server-side-encryption-configuration

解决步骤:

1。检查您的AWS CLI的当前版本:

aws --version

如果输出的内容小于版本(1.18.31),请继续升级您的AWS CLI版本,如下所示。

2。使用pip(或pip3)升级您的AWS CLI:

要升级现有的AWS CLI安装,请使用--upgrade选项:

pip install --upgrade awscli

OR

pip3 install --upgrade awscli

3。使用AWS Bundled Installer

升级AWS CLI
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

注意:您可能需要注销才能使更改生效

希望这会有所帮助!

答案 1 :(得分:0)

我将添加一个答案,为使用Windows的用户解释此问题,以防他们发现并无法解决。

aws s3api put-bucket-encryption --bucket my-bucket-name --server-s
ide-encryption-configuration "{\"Rules\": [{\"ApplyServerSideEncryptionByDefault\":
{\"SSEAlgorithm\": \"AES256\"}}]"

需要成为

aws s3api put-bucket-encryption --bucket my-bucket-name --server-s
ide-encryption-configuration "{\"Rules\": [{\"ApplyServerSideEncryptionByDefault\":
{\"SSEAlgorithm\": \"AES256\"}}]"

一旦您处理了json中的引号,它就会按预期工作。