【问题标题】:aws s3api put-bucket-encryption cli command adds extra quotes when in cmdaws s3api put-bucket-encryption cli 命令在 cmd 中添加额外的引号
【发布时间】:2022-09-24 08:08:26
【问题描述】:

当我在 cmd 中使用以下命令将存储桶加密添加到我帐户中的某个存储桶时,会显示添加引号,并且该命令从未真正起作用。其他 s3api 命令工作得很好。

我输入的命令:

aws s3api put-bucket-encryption --bucket MyBucket --server-side-encryption-configuration \'{\"Rules\": [{\"ApplyServerSideEncryptionByDefault\": {\"SSEAlgorithm\": \"AES256\"}}]}\'

当我按下回车键时会发生什么:

> aws s3api put-bucket-encryption --bucket MyBucket --server-side-encryption-configuration \'\'\"\'\"\'{Rules:\' \'[{ApplyServerSideEncryptionByDefault:\' \'{SSEAlgorithm:\' \'AES256}}]}\'\"\'\"\'\'

任何想法我在 AWScli 中做错了什么?

最终,一旦我拥有正确的命令,我想将它编码到我的 c# 程序中,但这将是另一个问题。

  • 运行此命令后得到什么退出代码?您能否提供有关您的终端和 shell 配置的更多信息?这看起来像是一个环境问题。
  • @Michal 用法:aws [options] <command> <subcommand> [<subcommand> ...] [parameters] 要查看帮助文本,您可以运行: aws help aws <command> help aws <command> <subcommand> help Unknown选项:{SSEAlgorithm:, AES256}}]}\', [{ApplyServerSideEncryptionByDefault:
  • 我正在使用以管理员身份打开的 cmd
  • 在PowerShell中我得到以下信息:解析参数时出错\'--server-side-encryption-configuration\':无效的JSON:期望用双引号括起来的属性名称:第1行第2列(字符1)收到JSON:{规则:[ {ApplyServerSideEncryptionByDefault: {SSEAlgorithm: AES256}}]}
  • 哦,你正在使用 Windows。我以为您使用的是 linux,因此您可以提供退出代码和 shell 设置。反正。如您所见,您的 powershell 建议是环境问题。尝试使用\\\" 而不仅仅是\",例如:aws s3api put-bucket-encryption --bucket MyBucket --server-side-encryption-configuration \'{\\\"Rules\\\": [{\\\"ApplyServerSideEncryptionByDefault\\\": {\\\"SSEAlgorithm\\\": \\\"AES256\\\"}}]}\'

标签: aws-cli


【解决方案1】:

备案:可以通过在 JSON 部分中使用反斜杠转义双引号来解决问题:

aws s3api put-bucket-encryption --bucket MyBucket --server-side-encryption-configuration '{\"Rules\": [{\"ApplyServerSideEncryptionByDefault\": {\"SSEAlgorithm\": \"AES256\"}}]}'

【讨论】:

    猜你喜欢
    • 2018-08-16
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 2020-11-16
    • 1970-01-01
    • 2017-02-27
    相关资源
    最近更新 更多